I am having problem when I want to display my taxonomy template. I have created one custom taxonomy 'Location' for my custom post type 'Project'. Moreover, I have created templates for it as : taxonomy-{taxonomy_name}-{term}.php taxonomy-{taxonomy_name}.php taxonomy.php None of them work... I just get my archive-{post_type}.php in all case. My targetted URLs are : `mywebsite.com/holliday/united-kingdom/` (Location taxonomy) `mywebsite.com/holliday/united-kingdom/london` (Location taxonomy child) I should have messed up or missed something when creating my taxonomy but can't get it right. Here is my code (register post type and register taxonomy) : // Register Post Type (Holliday) $capability = 'publish_posts'; $cpt_args = array( 'menu_icon' => 'dashicons-groups', 'labels' => array( 'name' => __( 'Holliday', 'mon-plugin' ), 'singular_name' => __( 'Holliday', 'mon-plugin' ), 'add_new' => __( 'Add Holliday', 'mon-plugin' ), 'add_new_item' => __( 'Add Holliday', 'mon-plugin' ), 'edit' => __( 'Edit', 'mon-plugin' ), 'edit_item' => __( 'Edit Holliday', 'mon-plugin' ), 'new_item' => __( 'New Holliday', 'mon-plugin' ), 'view' => __( 'View Holliday', 'mon-plugin' ), 'view_item' => __( 'View Holliday', 'mon-plugin' ), 'search_items' => __( 'Search Holliday', 'mon-plugin' ), 'not_found' => __( 'No Holliday found', 'mon-plugin' ), 'not_found_in_trash'=> __( 'No Holliday found in Trash', 'mon-plugin' ), 'parent' => __( 'Parent Holliday', 'mon-plugin' ), ), 'public' => true, 'has_archive' => true, 'rewrite' => array( 'slug' => 'holliday/%my_project_location%', ), 'supports' => array('title', 'custom-fields', 'excerpt', 'editor', 'author', 'thumbnail', 'comments'), 'capabilities' => array( 'publish_posts' => $capability, 'edit_posts' => $capability, 'edit_others_posts' => $capability, 'delete_posts' => $capability, 'delete_others_posts'=> $capability, 'read_private_posts'=> $capability, 'edit_post' => $capability, 'delete_post' => $capability, 'read_post' => $capability ), ); register_post_type( 'my_project', $cpt_args ); // Register Taxonomy (Location) $cats_args = array( 'labels' => array( 'name' => _x( 'Project Location', 'mon-plugin' ), 'singular_name' => _x( 'Location', 'mon-plugin' ), 'search_items' => __( 'Search Location', 'mon-plugin' ), 'all_items' => __( 'All Location', 'mon-plugin' ), 'parent_item' => __( 'Parent Location', 'mon-plugin' ), 'parent_item_colon' => __( 'Parent Location:', 'mon-plugin' ), 'edit_item' => __( 'Edit Location', 'mon-plugin' ), 'update_item' => __( 'Update Location', 'mon-plugin' ), 'add_new_item' => __( 'Add New Location', 'mon-plugin' ), 'new_item_name' => __( 'New Location Name', 'mon-plugin' ), 'menu_name' => __( 'Location', 'mon-plugin' ), ), 'hierarchical' => true, 'public' => true, 'show_ui' => true, 'has_archive' => true, 'rewrite' => array( 'slug' => 'holliday', 'hierarchical' => true ) ); register_taxonomy( 'my_project_location', 'my_project', $cats_args ); EDIT: If I change my taxonomy slug into something else, I get my taxonomy template working. Example: taxonomy slug => "location" mywebsite.com/location/united-kingdom/ => Taxonomy template working ! But I want my taxonomy to work with my custom post type. To get my taxonomy template when accessing `mywebsite.com/{custom-post-type}/{taxonomy}/` But this give me `archive-{custom-post-type}.php` file instead. Following the [Template Hierarchy](https://developer.wordpress.org/themes/basics/template-hierarchy/) I expect Wordpress to find me the taxonomy template before the archive template. Is there something I am missing ? Thank you for your help.