I have CPT and Custom Taxonomy plugin like below

function gen_service_tax() {

    $labels = array(
        'name'                       => 'Service Types',
        'singular_name'              => 'Service Type',
        'menu_name'                  => 'Service Types',
        'all_items'                  => 'All Service Types',
        'parent_item'                => 'Service Parent',
        'parent_item_colon'          => 'ServicebParents:',
        'new_item_name'              => 'New Service Name',
        'add_new_item'               => 'Add New Service',
        'edit_item'                  => 'Edit Service',
        'update_item'                => 'Update Service',
        'separate_items_with_commas' => 'Separate Services with commas',
        'search_items'               => 'Search Services',
        'add_or_remove_items'        => 'Add or remove Services',
        'choose_from_most_used'      => 'Choose from the most used Services',
        'not_found'                  => 'Service Not Found',
    $args = array(
        'labels'                     => $labels,
        'hierarchical'               => true,
        'public'                     => true,
        'show_ui'                    => true,
        'show_admin_column'          => true,
        'show_in_nav_menus'          => true,
        'show_tagcloud'              => true,
    // This the name tha can be used in Taxonomy cpt collection services
    register_taxonomy( 'services', array( 'services_cpt' ), $args );


add_action( 'init', 'gen_service_tax', 0 );

function gen_services_cpt() {

    $labels = array(
        'name'                => 'Services',
        'singular_name'       => 'Service',
        'menu_name'           => 'Services',
        'name_admin_bar'      => 'Services',
        'parent_item_colon'   => 'Service Parent:',
        'all_items'           => 'All Services',
        'view_item'           => 'View Service',
        'add_new_item'        => 'Add New Service',
        'add_new'             => 'Add New Service',
        'new_item'            => 'New Service',
        'edit_item'           => 'Edit Service',
        'update_item'         => 'Update Service',
        'search_items'        => 'Search Services',
        'not_found'           => 'Service Not found',
        'not_found_in_trash'  => 'Service Not found in Trash',
    $args = array(
        'description'         => 'This Post Type Adds Services to Website',
        'labels'              => $labels,
        'supports'            => array( 'title', 'editor'),
        'taxonomies'          => array( 'service_tax' ),
        'hierarchical'        => true,
        'public'              => true,
        'show_ui'             => true,
        'show_in_menu'        => true,
        'show_in_nav_menus'   => true,
        'show_in_admin_bar'   => true,
        'menu_position'       => 5,
        'rewrite'             => array( 'slug' => 'Services','with_front' => true, 'hierarchical' => true ),
        'can_export'          => true,
        'has_archive'         => true,
        'exclude_from_search' => false,
        'publicly_queryable'  => true,
        'capability_type'     => 'post',
    register_post_type( 'services_cpt', $args );

add_action( 'init', 'gen_services_cpt', 0 );

I also have this file formats on the theme folder


enter image description here

I have also enabled Post name http://vancouvermetalworks.ca/sample-post/ option on wp Permalink Settings ,as well. but when I create a new Post type wp navigates first to single.php instead of single-services.php! Can you please let me know what I am doing wrong?


You should correct the file names on the theme folder matching with the slugs



Hope you got the error :)

  • Thanks Jaed this works but can you please let me know why? as you can see I already register the taxonomy with the name of services so why I have to add _cpt there? – JJ BOBO Oct 11 '17 at 13:10

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.