New Check out the curated list of the finest design resources I've gathered for you! Take a look →

How to Create a Custom Post Type in WordPress Without a Plugin

When working with WordPress, you may come across situations where the default post types don’t fit your needs. In such cases, creating a custom post type becomes necessary. In this article, we will guide you through the process of creating a custom post type in WordPress without using a plugin, providing a simple and effective solution.

Table of Contents

Step by Step

1. Start by opening your theme’s functions.php file:

  • Open your WordPress dashboard and go to Appearance > Theme Editor.
  • Locate the functions.php file on the right-hand side and click on it to open.

2. Define a function for creating the custom post type:

  • Begin by adding a function and giving it a unique name, such as “create_custom_post_type.”
  • Inside the function, use the ‘register_post_type’ function to set up your custom post type.
  • Specify the labels, including the name, singular name, menu name, and more.
  • Set the publicly queryable, show UI, and other arguments according to your requirements.

3. Add the supporting features for your custom post type:

  • If you want your custom post type to include certain features, such as a thumbnail or comments, add them using respective WordPress functions.
  • For example, use the ‘thumbnail’ argument to enable featured images and ‘comments’ argument to allow comments on the custom post type.

4. Save the changes and test your custom post type:

  • After adding the necessary code, save the changes you made to the functions.php file.
  • Go to your WordPress dashboard and navigate to the ‘Posts’ section, where you will find your newly created custom post type listed.
  • Click on it to add new posts and check if all the defined features and settings are working as expected.


In this step-by-step guide, we have shown you how to create a custom post type in WordPress without using a plugin. By modifying the theme’s functions.php file, you can easily define your own custom post type with specific labels and features. Remember to save the changes and test your custom post type to ensure it functions correctly.

In summary, the key points to creating a custom post type without a plugin are accessing the functions.php file, defining the custom post type using ‘register_post_type’ function, adding supporting features as desired, saving the changes, and testing the new custom post type. By following these steps, you can tailor WordPress to meet your specific content management needs.

Please note that this guide has provided a basic understanding of creating a custom post type. Advanced customization and additional options can be explored to enhance the functionality of your custom post type.

Rizwan Aritonang

An independent WordPress & Front-End Developer from Bandung, Indonesia.

Get In Touch

Leave a Comment