Title: Creating custo post types
Last modified: August 30, 2016

---

# Creating custo post types

 *  [zaydB](https://wordpress.org/support/users/zaydb/)
 * (@zaydb)
 * [10 years, 8 months ago](https://wordpress.org/support/topic/creating-custo-post-types/)
 * Hey guys,
 * Ive created custom posts on a wordpress theme i have developed but I find the
   way I do it rather in-effcient and at times buggy. Ive created all my custom 
   posts through one function. My code is below:
 *     ```
       /* Custom Post Types*/
   
       /*News Post Type*/
       add_action( 'init', 'create_post_type' );
       function create_post_type() {
         register_post_type( 'news_article',
           array(
             'labels' => array(
               'name' => __( 'News' ),
               'singular_name' => __( 'Article' ),
   
             ),
       'taxonomies' => array('category','post_tag'),
             'public' => true,
             'has_archive' => true,
             'rewrite' => array('slug' => 'news_article'),
             'supports' => array('thumbnail', 'editor','title', 'excerpt', 'editor', 'author', 'thumbnail',
       				  					  'comments', 'revisions', 'custom-fields',),
           )
   
         );
   
         register_post_type( 'bnf',
           array(
             'labels' => array(
               'name' => __( 'Business and Finances' ),
               'singular_name' => __( 'Business and Finance' ),
   
             ),
       'taxonomies' => array('category','post_tag'),
             'public' => true,
             'has_archive' => true,
             'rewrite' => array('slug' => 'bnf'),
             'supports' => array('thumbnail', 'editor','title', 'editor', 'excerpt', 'author', 'thumbnail',
       				  					  'comments', 'revisions', 'custom-fields',),
           )
         );
   
           register_post_type( 'events',
           array(
             'labels' => array(
               'name' => __( 'Events' ),
               'singular_name' => __( 'Event' ),
   
             ),
       'taxonomies' => array('category','post_tag'),
             'public' => true,
             'has_archive' => true,
             'rewrite' => array('slug' => 'events'),
             'supports' => array('thumbnail', 'editor','title', 'editor', 'excerpt', 'author', 'thumbnail',
       				  					  'comments', 'revisions', 'custom-fields',),
           )
         );
   
         register_post_type( 'videos',
           array(
             'labels' => array(
               'name' => __( 'Videos' ),
               'singular_name' => __( 'Video' ),
   
             ),
       'taxonomies' => array('category','post_tag'),
             'public' => true,
             'has_archive' => true,
             'rewrite' => array('slug' => 'videos'),
             'supports' => array('thumbnail', 'editor','title', 'editor', 'excerpt', 'author', 'thumbnail',
       				  					  'comments', 'revisions', 'custom-fields',),
           )
         );
   
         register_post_type( 'products',
           array(
             'labels' => array(
               'name' => __( 'Products' ),
               'singular_name' => __( 'Product' ),
   
             ),
       'taxonomies' => array('category','post_tag'),
             'public' => true,
             'has_archive' => true,
             'rewrite' => array('slug' => 'products'),
             'supports' => array('thumbnail', 'editor','title', 'editor', 'excerpt', 'author', 'thumbnail',
       				  					  'comments', 'revisions', 'custom-fields',),
           )
         );
   
         register_post_type( 'sponsors',
           array(
             'labels' => array(
               'name' => __( 'Sponsors' ),
               'singular_name' => __( 'Sponsor' ),
   
             ),
             'taxonomies' => array('category','post_tag'),
             'public' => true,
             'has_archive' => true,
             'rewrite' => array('slug' => 'sponsors'),
             'supports' => array('thumbnail', 'editor','title', 'editor', 'excerpt', 'author', 'thumbnail',
       				  					  'comments', 'revisions', 'custom-fields',),
           )
         );
   
           register_post_type( 'projects',
           array(
             'labels' => array(
               'name' => __( 'Projects' ),
               'singular_name' => __( 'Project' ),
   
             ),
       'taxonomies' => array('category','post_tag'),
             'public' => true,
             'has_archive' => true,
             'rewrite' => array('slug' => 'projects'),
             'supports' => array('thumbnail', 'editor','title', 'editor', 'excerpt', 'author', 'thumbnail',
       				  					  'comments', 'revisions', 'custom-fields',),
           )
         );
   
         register_post_type( 'opinions',
           array(
             'labels' => array(
               'name' => __( 'Opinions' ),
               'singular_name' => __( 'Opinion' ),
   
             ),
       'taxonomies' => array('category','post_tag'),
             'public' => true,
             'has_archive' => true,
             'rewrite' => array('slug' => 'opinions'),
             'supports' => array('thumbnail', 'editor','title', 'editor', 'excerpt', 'author', 'thumbnail',
       				  					  'comments', 'revisions', 'custom-fields',),
           )
         );
   
         register_post_type( 'tenders',
           array(
             'labels' => array(
               'name' => __( 'Tenders' ),
               'singular_name' => __( 'Tender' ),
   
             ),
       'taxonomies' => array('category','post_tag'),
             'public' => true,
             'has_archive' => true,
             'rewrite' => array('slug' => 'tenders'),
             'supports' => array('thumbnail', 'editor','title', 'editor', 'excerpt', 'author', 'thumbnail',
       				  					  'comments', 'revisions', 'custom-fields',),
           )
         );
           flush_rewrite_rules();
         }
       ```
   
 * Is this the best way to do it? Are there more safer and efficient ways to do 
   it? When I switch the debugger on wordpress it doesn’t say there are errors
 * Thanks in advance

The topic ‘Creating custo post types’ is closed to new replies.

## Tags

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

 * 0 replies
 * 1 participant
 * Last reply from: [zaydB](https://wordpress.org/support/users/zaydb/)
 * Last activity: [10 years, 8 months ago](https://wordpress.org/support/topic/creating-custo-post-types/)
 * Status: not resolved

## Topics

### Topics with no replies

### Non-support topics

### Resolved topics

### Unresolved topics

### All topics
