Take the 2-minute tour ×
WordPress Development Stack Exchange is a question and answer site for WordPress developers and administrators. It's 100% free, no registration required.

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?

share|improve this question
add comment

2 Answers

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.

'with_front' - allowing permalinks to be prepended with front base - defaults to true

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.

share|improve this answer
    
Sorry for my delayed response. The "category/projects" suggestion doesn't work, it falls back to index.php. I've tried the 'with_front' and it doesn't make a difference set to either true or false. I'm a bit at a loss at the moment. –  Luke Jul 27 '11 at 1:45
    
My other thought is that you register the taxonomy this way: register_taxonomy('projects', 'project', $args); which means you have a custom post type named "project". If you don't have, 'project' should be 'post'. –  danielwiener Jul 28 '11 at 22:56
    
Yes. I have created a custom post type named "project". I'm still struggling to make this work. Either I'm doing something really wrong here or something in WP is fundamentally broken. –  Luke Aug 6 '11 at 5:58
add comment

Did you flush the rewrite rules? Add this after your custom taxonomy code:

    flush_rewrite_rules();

You only need to have this run once when you make a change. Comment it out after it works.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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