How to Create a Custom Post Type Without a Plugin – 2023

Howdy, WordPress wizards! Ever felt confined by the post types WordPress provides out of the box? Well, no more! Today, we’ll be casting a spell to conjure a custom post type, all without the help of a plugin. Are you ready to level up your WordPress game? Let’s dive in!

Step 1: What’s a Custom Post Type?

A custom post type is exactly what it sounds like. WordPress allows you to create your own types of posts, separate from the default “Post” and “Page”. This means you could create a custom post type for “Books”, “Movies”, “Recipes”, or whatever else your heart desires.

Step 2: Create a Custom Post Type

Creating a custom post type involves writing a function and hooking it into the init action hook. This code should be added to your theme’s functions.php file.

Here’s an example of how to create a “Books” custom post type:

php
				
					function create_books_post_type() {
    register_post_type('books',
        array(
            'labels' => array(
                'name' => __('Books'),
                'singular_name' => __('Book')
            ),
            'public' => true,
            'has_archive' => true,
            'supports' => array('title', 'editor', 'thumbnail')
        )
    );
}
add_action('init', 'create_books_post_type');

				
			

This function creates a custom post type “Books” that supports title, editor, and thumbnail.

Step 3: Flush Rewrite Rules

When you add a new custom post type, you’ll need to flush your site’s rewrite rules or else your new post type might return a 404 error. To avoid this, just navigate to Settings > Permalinks in your WordPress dashboard and hit “Save Changes”. You don’t need to change anything, just hit save!

Let’s look at the whole code now:

				
					// functions.php

function create_books_post_type() {
    register_post_type('books',
        array(
            'labels' => array(
                'name' => __('Books'),
                'singular_name' => __('Book')
            ),
            'public' => true,
            'has_archive' => true,
            'supports' => array('title', 'editor', 'thumbnail')
        )
    );
}
add_action('init', 'create_books_post_type');

				
			

And there you have it, fellow sorcerers! You’ve just created your own custom post type in WordPress without a plugin. Now you’re ready to start cataloging books, recipes, movie reviews, or whatever your heart desires! Keep exploring, keep learning, and until next time, happy coding! 🚀

Table of Contents

Pro Feature

When to Use This Feature

Use Examples