I have created a custom taxonomy for my site called projects
with a matching template called taxonomy-projects.php
. The problem is that when I browse to http://mysite.com/projects
the template is not triggered, index.php
is, but when I browse to http://mysite.com/projects/someterm
the template shows up just fine.
How can have my template displayed when I browse to http://mysite.com/projects
?
Before you ask. Yes, I’m aware that I need to clear the rewrite rules before changes are made. I do this by saving the Permalink settings in the admin.
This is how I’ve created my custom taxonomy:
$args = array(
'labels' => array(
'name' => "Categories",
'singular_name' => "Category",
'search_items' => "Search Categories",
'popular_items' => "Popular Categories",
'all_items' => "All Categories",
'parent_item' => "Parent Category",
'parent_item_colon' => "Parent Category:",
'edit_item' => "Edit Category",
'update_item' => "Update Category",
'add_new_item' => "Add New Category",
'new_item_name' => "New Category Name",
),
'hierarchical' => TRUE,
'label' => 'Categories',
'query_var' => TRUE,
'rewrite' => array(
'slug' => 'projects'
),
);
register_taxonomy('projects', 'project', $args);
UPDATE:
I’ve traced the output of $wp_query->get_queried_object()
on each page and when I browse to a page with a term, such as http://mysite.com/projects/commercial
I get the following output:
stdClass Object
(
[term_id] => 4
[name] => Commercial
[slug] => commercial
[term_group] => 0
[term_taxonomy_id] => 8
[taxonomy] => projects
[description] =>
[parent] => 0
[count] => 1
)
However, when I browse to http://mysite.com/projects
the output is nothing.
I’m failing to understand what I’m doing wrong. How can I make the taxonomy-projects.php
shown when I browse to http://mysite.com/projects
?
you have to use archive-projects.php to work mysite.com/projects, that’s all
Have you tried it with the permalink base in the url? It defaults to “category”.
http://mysite.com/category/projects
The WP codex is quoted below.
You would need to set ‘with_front’ to false for http://mysite.com/projects to work.
Also when you have only ‘projects’ in your url it is hard for WP to know if it is a post, page, custom post type, taxonomy, etc.
Did you flush the rewrite rules? Add this after your custom taxonomy code:
You only need to have this run once when you make a change. Comment it out after it works.