Languages: English • Italiano • 日本語 (Add your language)
Retrieves an object which describes any registered post type (i.e. built-in types like 'post' and 'page', or any user-created custom post type).
<?php get_post_type_object( $post_type ); ?>
Nothing on failure (e.g. can check for null).
$obj = get_post_type_object( 'post' ); echo $obj->labels->singular_name;
Technically, this is the same as
global $wp_post_types; $obj = $wp_post_types['post']; echo $obj->labels->singular_name;
print_r( $obj ) might return something like this:
stdClass Object
(
[labels] => stdClass Object
(
[name] => Posts
[singular_name] => Post
[add_new] => Add New
[add_new_item] => Add New Post
[edit_item] => Edit Post
[new_item] => New Post
[view_item] => View Post
[search_items] => Search Posts
[not_found] => No posts found
[not_found_in_trash] => No posts found in Trash
[parent_item_colon] =>
)
[description] =>
[publicly_queryable] => 1
[exclude_from_search] =>
[_builtin] => 1
[_edit_link] => post.php?post=%d
[capability_type] => post
[hierarchical] =>
[public] => 1
[rewrite] =>
[query_var] =>
[register_meta_box_cb] =>
[taxonomies] => Array
(
)
[show_ui] => 1
[menu_position] =>
[menu_icon] =>
[permalink_epmask] => 1
[can_export] => 1
[show_in_nav_menus] => 1
[name] => post
[cap] => stdClass Object
(
[edit_post] => edit_post
[edit_posts] => edit_posts
[edit_others_posts] => edit_others_posts
[publish_posts] => publish_posts
[read_post] => read_post
[read_private_posts] => read_private_posts
[delete_post] => delete_post
)
[label] => Posts
)
Assuming we have the post type 'certification', we could do this:
$obj = get_post_type_object( 'certification' );
print_r( $obj ) might return something like this:
stdClass Object
(
[labels] => stdClass Object
(
[name] => Certification
[singular_name] => Certification
[add_new] => Add New
[add_new_item] => Add New Certification
[edit_item] => Edit Certification
[new_item] => New Page
[view_item] => View Certification
[search_items] => Search Certification
[not_found] => Not found
[not_found_in_trash] => Not found in Trash
[parent_item_colon] => Parent Certification:
[all_items] => All Certifications
[menu_name] => Certifications
[update_item] => Update Certification
[name_admin_bar] => Certification
)
[description] => Certifications
[public] => 1
[hierarchical] => 1
[exclude_from_search] =>
[publicly_queryable] => 1
[show_ui] => 1
[show_in_menu] =>
[show_in_nav_menus] => 1
[show_in_admin_bar] => 1
[menu_position] => 5
[menu_icon] => dashicons-welcome-widgets-menus
[capability_type] => post
[map_meta_cap] => 1
[register_meta_box_cb] =>
[taxonomies] => Array
(
[0] => objective
)
[has_archive] => 1
[rewrite] => Array
(
[slug] => certification
[with_front] => 1
[pages] => 1
[feeds] => 1
[ep_mask] => 1
)
[query_var] => certification
[can_export] => 1
[delete_with_user] =>
[_builtin] =>
[_edit_link] => post.php?post=%d
[label] => Certification
[name] => certification
[cap] => stdClass Object
(
[edit_post] => edit_post
[read_post] => read_post
[delete_post] => delete_post
[edit_posts] => edit_posts
[edit_others_posts] => edit_others_posts
[publish_posts] => publish_posts
[read_private_posts] => read_private_posts
[read] => read
[delete_posts] => delete_posts
[delete_private_posts] => delete_private_posts
[delete_published_posts] => delete_published_posts
[delete_others_posts] => delete_others_posts
[edit_private_posts] => edit_private_posts
[edit_published_posts] => edit_published_posts
[create_posts] => edit_posts
)
)
Note 1: that the object's attribute names are slightly different than the arguments expected for the register_post_type() function.
Note 2: to get the list of `supports` field, possible solution could be to check :
$GLOBALS['_wp_post_type_features']
get_post_type_object() is located in wp-includes/post.php.
Post Types: register_post_type(), add_post_type_support(), remove_post_type_support(), post_type_supports(), post_type_exists(), set_post_type(), get_post_type(), get_post_types(), get_post_type_object(), get_post_type_capabilities(), get_post_type_labels(), is_post_type_hierarchical(), is_post_type_archive(), post_type_archive_title()