How to Create Custom Taxonomy in WordPress Without Any Plugin

WordPress provides a powerful and flexible way to organize and categorize your content through the use of taxonomies. Taxonomies are a way to group and classify your posts, pages, or custom post types. By default, WordPress comes with two built-in taxonomies: categories and tags. However, sometimes you may need to create custom taxonomies to better organize your content.

In this guide, we will walk you through the process of creating a custom taxonomy in WordPress without using any plugins. We will also add a unique prefix, “wpnotch_”, to ensure that our custom taxonomy is distinct and doesn’t conflict with any existing taxonomies.

Step 1: Define the Custom Taxonomy

The first step is to define the custom taxonomy by adding code to your theme’s functions.php file. To do this, access your WordPress installation via FTP or use the built-in theme editor in the WordPress admin area.

Open your theme’s functions.php file and add the following code:

function wpnotch_custom_taxonomy() {
    $labels = array(
        'name'              => _x( 'Custom Taxonomy', 'taxonomy general name' ),
        'singular_name'     => _x( 'Custom Taxonomy', 'taxonomy singular name' ),
        'search_items'      => __( 'Search Custom Taxonomies' ),
        'all_items'         => __( 'All Custom Taxonomies' ),
        'edit_item'         => __( 'Edit Custom Taxonomy' ),
        'update_item'       => __( 'Update Custom Taxonomy' ),
        'add_new_item'      => __( 'Add New Custom Taxonomy' ),
        'new_item_name'     => __( 'New Custom Taxonomy' ),
        'menu_name'         => __( 'Custom Taxonomy' ),

    $args = array(
        'hierarchical'      => true,
        'labels'            => $labels,
        'show_ui'           => true,
        'show_admin_column' => true,
        'query_var'         => true,
        'rewrite'           => array( 'slug' => 'custom-taxonomy' ),

    register_taxonomy( 'wpnotch_custom_taxonomy', array( 'post' ), $args );
add_action( 'init', 'wpnotch_custom_taxonomy' );

Make sure to replace all instances of “Custom Taxonomy” with your desired taxonomy name. Additionally, you can modify the labels and arguments to suit your specific needs.

Step 2: Update Permalinks

After adding the code to your theme’s functions.php file, you need to update the permalinks in order for the custom taxonomy to work properly. To do this, go to your WordPress admin area and navigate to Settings > Permalinks. Simply click on the “Save Changes” button to update the permalinks.

Step 3: Test the Custom Taxonomy

Now that you have defined the custom taxonomy and updated the permalinks, it’s time to test if everything is working correctly. To do this, go to your WordPress admin area and navigate to Posts > Categories. You should see your newly created custom taxonomy listed there.

You can now assign the custom taxonomy to your posts by selecting it from the list of available categories. You can also edit, delete, or add new terms to the custom taxonomy, just like you would with the default categories or tags.


Creating a custom taxonomy in WordPress without using any plugins is a straightforward process. By following the steps outlined in this guide and adding the necessary code to your theme’s functions.php file, you can easily create and manage custom taxonomies for better content organization.

Remember to always use a unique prefix, such as “wpnotch_”, to avoid conflicts with existing taxonomies. This ensures that your custom taxonomy functions properly and remains distinct.

By leveraging the power of custom taxonomies, you can take full control of how your content is organized, making it easier for both you and your visitors to navigate and find relevant information on your WordPress website.

Discover more from WP Notch

Level up your skills. Get expert tips delivered straight to you. Subscribe!

Continue Reading