Ready to get started?Download WordPress


Attention Interested in functions, hooks, classes, or methods? Check out the new WordPress Code Reference!

Function Reference/get post type object


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 ); ?>


(string) (required) The name of the post type as used when registering the post type.
Default: None

Return Values

on success.

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

Note that the object's attribute names are slightly different than the arguments expected for the register_post_type() function.

Change Log

Source File

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()

See also index of Function Reference and index of Template Tags.