Página de lista de taxonomia personalizada?

Eu estou trabalhando em um site de restaurante, e eu tenho um tipo de postagem personalizado para pratos, assim:

$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); 

Um exemplo de uma das taxonomias personalizadas que eu quero usar é esta:

 register_taxonomy('Main Ingredient', array('dish'), array( 'hierarchical' => true, 'label' => 'Main Ingredient', 'singular_label' => 'Main Ingredient', 'query_var'=>true, 'rewrite' => true) ); 

As taxonomias personalizadas funcionam bem no administrador, e posso ir para myurl.com/main-ingredient/pork e ver uma lista de todos os pratos com carne de porco neles.

O que eu quero fazer é poder myurl.com/main-ingredient e obter uma lista de todos os vários valores de ingredientes principais.

Encontrei essa referência, que é exatamente o que estou tentando fazer.

Mas a solução não está funcionando para mim – ainda estou recebendo um 404 ao ir para myurl.com/main-ingredient

Alguma sugestão sobre a melhor maneira de fazer isso?

Solutions Collecting From Web of "Página de lista de taxonomia personalizada?"

Não há nada incorporado para o WordPress para fornecer uma página “índice” para sua taxonomia, pois sua pergunta implica que deve haver (e eu concordo, deve haver! Mas não existe.)

Em vez disso, você tem que cortá-lo e uma maneira de fazer isso é criar uma página chamada “Ingrediente principal” com uma lesão de URL de main-ingredient e atribuir-lhe um modelo de página para o seu tema que você criará (talvez) chamado “Lista de Ingredientes Principais “ :

Captura de tela mostrando onde definir o modelo de página no WordPress

Aqui está um ponto de partida; talvez use o nome do arquivo page-main-ingredient-list.php para o seu modelo de página:

 < ?php /* Template Name: Main Ingredient List */ get_header(); $main_ingredients = get_terms('main-ingredient'); foreach($main_ingredients as $main_ingredient) { $dishes = new WP_Query(array( 'post_type' => 'dish', 'post_per_page'=>-1, 'taxonomy'=>'main-ingredient', 'term' => $main_ingredient->slug, )); $link = get_term_link(intval($main_ingredient->term_id),'main-ingredient'); echo "

{$main_ingredient->name}

"; echo '
    '; while ( $dishes->have_posts() ) { $dishes->the_post(); $link = get_permalink($post->ID); $title = get_the_title(); echo "
  • {$title}
  • "; } echo '
'; } get_footer();

E então, aqui está o aspecto da página com alguns dados falsos no meu site de teste:

Captura de tela de uma página de índice de taxonomia para um site WordPress