I’m working on a restaurant site, and I have a custom post type for dishes, like so:
$args = array(
'labels'=> $labels,
'public'=> true,
'publicly_queryable'=>true,
'show_ui'=>true,
'show_in_nav_menus'=>true,
'query_var'=>'dish',
'rewrite'=>true,
'capability_type'=>'post',
'hierarchicial'=>false,
'menu_position'=>5,
'supports'=>array(
'title',
'editor',
'thumbnail',
'excerpt',
'custom-fields',
'revisions'
)
);
register_post_type('dish', $args);
An example of one of the custom taxonomies I want to use is this:
register_taxonomy('Main Ingredient', array('dish'), array(
'hierarchical' => true,
'label' => 'Main Ingredient',
'singular_label' => 'Main Ingredient',
'query_var'=>true,
'rewrite' => true)
);
The custom taxonomies are working fine in the admin, and I can go to myurl.com/main-ingredient/pork
and see a list of all dishes with pork in them.
What I’m wanting to do is be able to hit myurl.com/main-ingredient
and get a list of all the various main-ingredient values.
I found this reference, which is exactly what I’m trying to do.
But the solution is not working for me – I’m still getting a 404 when going to myurl.com/main-ingredient
Any suggestions on how best to do this?
There is nothing built-in to WordPress to provide an “index” page for your taxonomy as your question implies there should be (and I agree, there should be! But there isn’t.)
Instead you have to hack it and one way to do that is to create a page called “Main Ingredient” with a
main-ingredient
URL slug and assign it a page template for your theme that you will create (maybe) called “Main Ingredient List”:(source: mikeschinkel.com)
Here’s a starting point; maybe use the file name
page-main-ingredient-list.php
for your page template:And then here’s what the page looks like with some dummy data on my test site: