Title: Using Custom &#8216;post_type&#8217;
Last modified: August 19, 2016

---

# Using Custom ‘post_type’

 *  [tturner](https://wordpress.org/support/users/tturner/)
 * (@tturner)
 * [16 years, 5 months ago](https://wordpress.org/support/topic/using-custom-post_type/)
 * I’m hoping that by now using custom ‘post_type'(s) has become a little more common.
 * Does anyone have any “best practices” when using custom post_types?
 * I noticed ‘custom’ is being added to the passable options for ‘post_type’ in 
   the get_posts() function for WP Version 2.9. Until the version becomes available(
   stable) is there a way to get posts with a custom type that is “better” then 
   just doing a raw db query?
 * Are there any functions/hooks that allow the passing of custom ‘post_type'(s)?
 * If I don’t find any preexisting methods for cleanly handling the data, I’ll code
   some up and post them here.

Viewing 9 replies - 1 through 9 (of 9 total)

 *  [dougjoseph](https://wordpress.org/support/users/dougjoseph/)
 * (@dougjoseph)
 * [16 years, 4 months ago](https://wordpress.org/support/topic/using-custom-post_type/#post-1292801)
 * I very much need to know how to create a new post type in my blog. I found something
   about specifying post_type and tried it, but I don’t seem to know how to do it
   correctly. Any help would be deeply appreciated!
 *  [Tim Nicholson](https://wordpress.org/support/users/timnicholson/)
 * (@timnicholson)
 * [16 years, 3 months ago](https://wordpress.org/support/topic/using-custom-post_type/#post-1292809)
 * Yes, there seems to be a dearth of documentation on the new custom post types.
   I’d like to know how to add a new post type and then not only how to select just
   that post type but also how to choose to exclude those posts from other functions,
   such as RSS feeds, site searches, home page, archives, etc.
 * I’m thinking I might want to write a very simple plugin for discussion forums
   that use the standard WP tables. The benefits would be that the forums could 
   automatically show in site navigation, standard widgets for posts/pages, site
   searches; automatic comment and pingback capability; etc.
 * I did find just one reference to this in wp-includes/posts.php there is a call
   to a function register_post_type(). However, doing a quick file search, I can’t
   find where that function itself is defined. Of course many standard WP functions
   have always allowed a post_type parameter, so I assume they have been rewritten
   to validate posts types against those that are officially registered with register_post_type()
   so not much change is needed in selecting the custom post types.
 * I have also read that the “user interface” for custom post types is not coming
   until WP v3.0. I’m not really sure what that means, although I guess it probably
   means there will be more specialized functions for selecting, displaying, updating
   custom post types just to make things easier.
 *  [MichaelH](https://wordpress.org/support/users/michaelh/)
 * (@michaelh)
 * [16 years, 3 months ago](https://wordpress.org/support/topic/using-custom-post_type/#post-1292810)
 * At the least you could use `post_type=your_type_here` with a query, but until
   a plugin and/or Version 3.0 provides UI access not sure how much you can do.
 * Related:
    [Function_Reference/register_post_type](http://codex.wordpress.org/Function_Reference/register_post_type)
 *  [Andy Macaulay-Brook](https://wordpress.org/support/users/andymacb/)
 * (@andymacb)
 * [16 years, 3 months ago](https://wordpress.org/support/topic/using-custom-post_type/#post-1292811)
 * Michael: Is there a filter or action hook that can be used to set post_type=your_type_here
   in the standard query, or do we have to construct a complete fresh query to make
   use of custom types? I have been reading the query.php source but it’s making
   me go blind :-S
 * Thanks.
 *  [MichaelH](https://wordpress.org/support/users/michaelh/)
 * (@michaelh)
 * [16 years, 3 months ago](https://wordpress.org/support/topic/using-custom-post_type/#post-1292812)
 * Not sure.
 * I’d guess that `$query_posts('post_type=your_type_here');` would retrieve the
   data.
 *  [Andy Macaulay-Brook](https://wordpress.org/support/users/andymacb/)
 * (@andymacb)
 * [16 years, 3 months ago](https://wordpress.org/support/topic/using-custom-post_type/#post-1292817)
 * Justin Tadlock [points out](http://justintadlock.com/archives/2010/02/02/showing-custom-post-types-on-your-home-blog-page)
   that that you can add post types into the query by hooking into the pre_get_posts
   filter hook and running something like $query->set( ‘post_type’, array( ‘post’,‘
   page’, ‘classified’, ‘attachment’ ) );
 * So to include posts of type classified mixed with ‘normal’ posts, I use this:
 *     ```
       function my_get_posts( $query ) {
   
       	if ( is_home() || is_single() )
       		$query->set( 'post_type', array( 'post', 'classified' ) );
   
       	return $query;
       }
   
       add_filter( 'pre_get_posts', 'my_get_posts' );
       ```
   
 * So far I’m only assuming that this will still work when I build in my own template&
   query vars.
 *  [Tim Nicholson](https://wordpress.org/support/users/timnicholson/)
 * (@timnicholson)
 * [16 years, 2 months ago](https://wordpress.org/support/topic/using-custom-post_type/#post-1292819)
 * I have done more analysis on the WP 2.9 code and researched 3.0 functionality
   in the WP tracking system. In 2.9, there is only the ability to declare a custom
   post type and specify that post type in a custom query.
 * In 3.0, declaring a custom post type will automatically create a link and post
   maintenance screen in the admin section for them. It will also let you specify
   whether the post type is publically queryable, whether it shows in search results
   by default, etc. 3.0 also allows you to create custom taxonomies (categories,
   tags) for the custom post types.
 * So this makes sense with the general comments I’ve seen on these forums where
   people are saying they are going to wait until WP 3.0 when the “UI” (user interface)
   is built out. With 2.9, everything has to be hand-coded. With 3.0, some simple
   custom post type and taxonomy declarations will make these things immediately
   useful without a lot of custom coding.
 *  [Ishimwe](https://wordpress.org/support/users/ishimwe/)
 * (@ishimwe)
 * [16 years ago](https://wordpress.org/support/topic/using-custom-post_type/#post-1292844)
 * I have used “custom type” over and over again in wordpress 2.9.2 . I simply make
   sure the database has that post type and I query it the same way I would query
   a regular post/page.
 * That is, I created a script to insert posts and specify post_type to be “personal”
   which is a custom post type. Then I use a regular query as:
 * **$recent = new WP_Query(“post_type=personal&author=”.$user_id.””);**
 * It works perfectly. Let me know if you need help with that.
 *  [dougjoseph](https://wordpress.org/support/users/dougjoseph/)
 * (@dougjoseph)
 * [15 years, 11 months ago](https://wordpress.org/support/topic/using-custom-post_type/#post-1292846)
 * ishimwe
 * I am very interested in that. I’m a little green on this stuff. Can you give 
   a little more detail about where you place that script code to create the new
   type? And what it looks like?

Viewing 9 replies - 1 through 9 (of 9 total)

The topic ‘Using Custom ‘post_type’’ is closed to new replies.

## Tags

 * [custom](https://wordpress.org/support/topic-tag/custom/)
 * [get_posts](https://wordpress.org/support/topic-tag/get_posts/)
 * [post_type](https://wordpress.org/support/topic-tag/post_type/)

 * 9 replies
 * 6 participants
 * Last reply from: [dougjoseph](https://wordpress.org/support/users/dougjoseph/)
 * Last activity: [15 years, 11 months ago](https://wordpress.org/support/topic/using-custom-post_type/#post-1292846)
 * Status: not a support question

## Topics

### Topics with no replies

### Non-support topics

### Resolved topics

### Unresolved topics

### All topics
