Looking for a way to add custom posts and pages with diverse properties and augmented layout? Here, I have listed WordPress Custom Post Type Plugins  that will help you do that and much more.


The content is an integral part of a website. There are various built-in types of content provided by WordPress. For a simple blog or website, these content types might as well fit your needs. However, often you may want to create a customised look for your website. You may want to define your own content types with features that are not available by default. If you plan to build a more complex website, you can use the power of custom post types. With custom types, you get the flexibility to create any type of content. In this article, you will learn the benefits of custom post types and how to create them. Here at our website builder, i will also do a feature comparison of some of the popular WordPress Custom Post Type Plugins.


What is a Custom Post Type?

WordPress stores and displays content as posts and categorises them based on post types. A page on a WordPress site is of post type “page” and a post on a blog is of type “post”. WordPress some post types that are native to WordPress. These predefined post types are:

  • Post
  • Page
  • Attachment
  • Revision
  • Navigation Menu
  • Custom CSS
  • Changesets

A custom post type is a custom defined piece of content. These are new post types that you define and create for the custom content. The new post type is registered to WordPress as a custom post type. A custom post is a regular post, but has a different post_type value in the WordPress database. Some custom post type examples are:

  • Media
  • People
  • Products
  • Events
  • Places
  • Online Store
  • Testimonials
  • Quotes
  • Error Log


Need for Custom Post Types

Custom post types allow content to be input and displayed in a custom manner that is specific to the content. You are no longer forced to use just the built-in post types provided by WordPress. A custom post type can denote and store any type of information. The user gets access to an endless number of possibilities.

So, when to create a custom post type? If you must display content which doesn’t seem to fit to be either a Post or a Page. Or, you might need to add options to a post like names, titles, photos, email addresses, phone numbers etc. You might also want that all the posts entries have the same layout and that they look the same on the website. As an example, consider the menu items on a restaurant’s website, it needs to have a common layout but added features than a normal post.

If you are still confused on when to use custom post types, then follow the guidelines below to decide:

  • You publish diverse types of content like blog entries and recipes.
  • You want to distinguish a specific type of content in the way it is structured and displayed. For example: a blog and a portfolio.
  • If some content does not fit a chronological order like a company blog and style guides.
  • If a content type is isolated and can be moved to a different website and remain comprehensible. For example, a list of sold products.
  • If your content is not complicated and does not require using categories and tags. For example, movie reviews.


List of the best WordPress Custom Post Type Plugins

The simplest approach to create custom post types in WordPress is to use WordPress custom post type plugins. It is safe and easy and recommended for beginners. There are a number of plugins available that make creating custom post types easy and give incredible results. Below is a list of a few WordPress custom post type plugins that are worth trying out.


Comparison Chart of Best WordPress Custom Post Type Plugins (2018)

First, Let us look at a brief comparison of these WordPress plugins w.r.t what features each provides for supporting custom post types.


Best WordPress Custom Post Type Plugins Custom Post Type UI Toolset Types WCK Custom Post Type Maker CPT-onomies MB Custom Post Type Custom Post Type Generator
Active Installs 400,000+ 200,000+ 20,000+ 8,000+ 4,000+ 2,000+ 2,000+
Rating 4.6 4.3 4.7 4.6 4.9 5 5
 UI for Creating New CPTs Yes Yes Yes Yes Yes Yes, via extensions Yes
Recommended Skill Level Some PHP knowledge Beginner Some PHP knowledge Beginner Beginner Some PHP knowledge Some PHP knowledge
Custom Post Types Yes Yes Yes Yes Yes Yes, via extension Yes, using generated code
Display CPT No Yes Yes No Yes Yes No
 Add Existing Taxonomies to CPTs Yes Yes Yes Yes Yes Yes No
User Interface Easy Slightly tricky Easy Easy Easy Easy Easy
Post Type Relationships No Yes Yes Yes Yes No No
Export Yes Yes Yes Yes No Yes Yes, to PHP code


If you want to compare advanced features of the WordPress Custom Post Type Plugins then you can look at the detailed comparison here.

Best WordPress Custom Post Type Plugins (Review)

1.Custom Post Type UI


The “Custom Post Type UI” plugin provides an easy to use interface to create custom post types and taxonomies in WordPress.




  • Intuitive and detailed UI that is simple to use.
  • Intuitive and detailed UI that is simple to use.
  • You can add custom post types to built-in or custom taxonomies.
  • Support for various available post editor features.
  • A separate listing for custom post types and taxonomies registered by the plugin.


  • This WordPress custom post type plugin simply creates the types and you need to add them to the theme yourself. As such display of the CPT is not handled.
  • The plugin lacks the description for some of the more complex options.
  • It does not provide the built-in feature of adding custom fields.


2.Toolset Types – Custom Post Types, Custom Fields and Taxonomies


The “Types” plugin lets you add content types, custom fields, and taxonomy.




  • Support for advanced CPT features.
  • Access control for the fields that different users can edit and view.
  • It also shows better help cues for more advanced concepts.
  • Ability to create true parent-child relationships between any custom types and native types.
  • Import and Export provided for Types data.
  • The only plugin that is multilingual-ready.
  • All fields can be repeating fields.


  • The Types plugin may not look as easy to use because the custom post types and custom fields are present in different admin screens.


3. Custom Post Types and Custom Fields creator – WCK


The “WCK Custom Post Type Creator” is a WordPress custom post type plugin that provides creating custom post types with a UI that supports most of the arguments of register_post_type() function.




  • With a straightforward interface, this is perhaps the simplest WordPress custom post type plugin.
  • The WordPress custom post type plugin lets you create and maintain custom post types, custom taxonomies and custom fields and Meta boxes for posts, pages or custom post types.
  • Quick Startup Guide on “General Settings” page.
  • You can organize the admin with different post types and display theme.
  • Available Pro version with added features and functionalities.


  • With the free version, there is undue bloatware as advertisements for the Pro version.


4. Custom Post Type Maker


“Custom Post Type Maker” plugin lets you create custom post types and custom Taxonomies in a user-friendly way. It fully integrates with the WordPress API and provides support for almost all parameters of the Custom Post Type API.




  • Uncluttered UI with separate sections for “Post Types” and “Taxonomies”.
  • It provides you with an interface to manage custom post types like regular post and pages.
  • Provides most features offered by a WordPress custom post type plugin.
  • Lets you set almost all parameters of the CPT API.


  • The plugin does not handle the display of custom post types and taxonomies.
  • This plugin has not been updated for quite some time. As such it is not widely used and not active on many WordPress sites.


5. CPT-onomies: Using Custom Post Types as Taxonomies


“CPT-onomies” is a multisite compatible WordPress custom post type plugin that supports the creation of very powerful taxonomies and very powerful relationships between posts.




  • Enables you to use the custom post types as taxonomies and create relationships between posts.
  • The custom post type manager allows the creation of custom post types and registration of CPT-onomies without any added coding.
  • Supports registering other custom post types created with other plugins and themes.
  • Support for a multisite network. One can register custom post types/CPT-onomies across an entire network or selected sites.


  • As of now, not all WordPress taxonomy features are supported for CPT-onomies.


6. MB Custom Post Type


The “MB Custom Post Type” plugin lets you create and manage custom post types and taxonomies easily with an easy-to-use interface.




  • This WordPress custom post type plugin supports all post type’s arguments with no need to write custom PHP code.
  • It is lightweight, powerful and easy-to-use.
  • Supports live editing mode, which fills the necessary labels for you automatically.
  • Import/Export support for registered custom post types.
  • It can be extended with extensions.


  • Needs install of the MetaBox plugin.


7. Custom Post Type Generator


The WordPress custom post type plugin lets you generate custom post types from the WordPress admin which is very easy to understand.




  • Easy to use interface.
  • Provides option to generate PHP code for including WordPress custom post types and taxonomies in themes and WordPress custom post type plugins.
  • Lists custom post types, built-in types and theme supported types separately.


  • Registered custom post types and taxonomies do not appear in the list of editable objects in the UI.


Bonus WordPress Custom Post Type Plugins

8. Pods – Custom Content Types and Fields


With the Pods WordPress custom post type plugin, you can create any type of content irrespective of its complexity. With an easy to use interface, you can manage custom fields and content types.


  • Intuitive user interface.
  • This is the most option-rich and robust WordPress custom post type plugin.
  • You can create completely new content types including Custom Post Types, Custom Taxonomies, and Custom Settings page.
  • You can add custom fields to custom taxonomies too.
  • Can create Advanced Content Types that use their own database tables.
  • WordPress plugin also gives you the power to extend existing content types like Post Types, Taxonomies, Media, Users, and Comments.


  • It is complicated and even with an impressive documentation might not be easy to use for a beginner.


Manually Creating a Custom Post Type

It is to be noted that the custom post types will disappear if the plugin is deactivated. The data pertaining to the custom post types is retained. However, the custom post type will be unregistered and inaccessible from the admin area.
Let us look at alternate ways to create custom post types manually.


How to Create Custom Post Types

To create a new custom post type, you will need to use the register_post_type()function from WordPress:

<?php register_post_type( $post_type, $args ); ?>

This function allows you to create a new post type by its labels, supported features, availability and other parameters.

The register_post_type() function accepts two parameters:

  • $post_type – The name of the post type.
  • $args – An array of arguments that define the post type.


Let us now look at an example to create a custom post type. You can register a post type in two places:

  • Inside the functions.php file for the theme.
  • Inside a custom Plugin


It is recommended to register a custom post type in a plugin since you will avoid losing the post type registration when you switch themes.

Code to register a post type “products” in a theme’s functions.php:

function register_my_post_type() {

$args = array(

'public' => true,

'label' => 'Products'


register_post_type( 'products', $args );


add_action( 'init', 'register_my_post_type' );


In the WordPress admin dashboard, a new menu called Products is added as shown below.


This wordpress custom post type plugins also adds the admin UI for the new custom post type. The new menu item allows adding new product entries or editing existing ones like posts and pages in WordPress. This is a simple example, but the complexity of your custom content would determine the different arguments you can pass to this function. Refer to the codex wiki for more details on the arguments accepted by this function.


Display Custom Post Type Data with WP_Query()

If you want to display custom post type data then you can use WP_Query()to get custom posts within the Loop. The WP_Query()function accepts a post_type parameter that determines the content type to return. In the example below, we display all product entries in WordPress.

$args = array (

'posts_per_page' => '-1',

'post_type' => 'products'


// Custom query.

$query = new WP_Query( $args );

if ( $query->have_posts() ) {

// Start looping over the query results.

while ( $query->have_posts() ) {



<h1><?php the_title() ?></h1>

<div class='content'>

<?php the_content() ?>







How to Display Custom Post Type Category in WordPress

For your custom post types, you may want to display custom categories like the WordPress default post categories.

Firstly, you will need to attach the Category taxonomy to the custom post type. By default, there are no taxonomies attached to a custom post type. You need to add an additional argument ‘taxonomy’ set to ‘category’, to the function register_post_type().

'taxonomies’ => array( 'category' ),

The category pages by default display only the ‘Posts’ post type. To display your custom post types also on the same page, you need to add additional code to the theme’s functions.php file or your custom plugin.

add_filter('pre_get_posts', 'query_custom_post_type');

function query_custom_post_type($query) {

if( is_category() ) {

$post_type = get_query_var('post_type');


$post_type = $post_type;


$post_type = array('nav_menu_item', 'post', 'Products');


return $query;




Category Page displaying default post types


Category Page displaying custom post types


You can also display categories for a custom post type. To display the custom post type category, you need to define the taxonomy argument. Then send it to the wp_list_categories() function that is used to list categories.

$customPostTaxonomies = get_object_taxonomies('Products');

if (count($customPostTaxonomies) > 0){

foreach($customPostTaxonomies as $tax){

$args = array(

'orderby' => 'name',

'taxonomy' => $tax,


wp_list_categories( $args );




WordPress Custom Post Type Templates

WordPress themes support custom templates for custom post types. Custom templates are supported for the single display of custom posts and archive displays. By default, WordPress will use the existing theme files that would be archive.php, single.php and index.php files. If you want to create a custom template for your custom post type, make a copy of the existing php file and edit that. WordPress follows a template hierarchy and uses the template it first comes across.


Default Custom Post Type Templates in WordPress


  • single-{post-type}.php

The single post template is used when a viewer requests a single post from a custom post type. The single.php template file will be used if the single-{post-type}.php is not present.

  • archive-{post-type}.php

The archive post type template is used for requests for a custom post type archive. The archive.php template file will be used if the archive-{post-type}.php is not present.

  • search.php

The search results template is used to display the search results. To include search results from the custom post type, add the ‘pre_get_posts’ as shown above.

  • index.php

The index.php is used if the above specific query template for the custom post type is not present.


Which WordPress Custom Post Type Plugins is best for you ?

WordPress custom post type plugins are an extremely powerful feature of WordPress. There’s no limit to the extensibility that you can achieve on your website. If you are an experienced developer, then you can use the WordPress functions directly to create and manage custom post types. You can also choose to use one of the many WordPress custom post type plugins that provide much more than the basic functionality. Lastly, you can try the TemplateToaster, a WordPress Website Builder tool which provides enhanced themes and features to create websites with all the custom features you may need.

Best Drag and Drop interface to Design stunning WordPress Themes