Intereting Posts
Как предотвратить повторение сообщения в моем цикле? Как проверить, является ли последний сегмент uri типом пользовательской почты или таксономией? программно запускать событие save_post Внешняя ссылка URL как Избранные изображения Предоставление WordPress собственного каталога вместе с index.html Импорт изображений с самостоятельного размещения на WordPress.com WordPress: как встроить виджет на отдельный веб-сайт? Bridge WordPress Media API с настраиваемым плагином tinyMCE Плагин для проведения аукционов на вашем сайте Кэширование WordPress – API переходных процессов или «update_user_meta» Cronjob? Отключить определенные виджеты на выбранных страницах веб-сайта WordPress? Изменение пользовательских правил переписывания типа в отдельной функции ajax возвращает 0 Как я могу изменить плагин, чтобы предоставить доступ к роли пользователя редактора? Пользовательский файл таксономии не правильно маршрутизируется

Страница пользовательской таксономии?

Я работаю на сайте ресторана, и у меня есть специальный тип сообщений для блюд, например:

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

Примером одной из пользовательских таксономий, которые я хочу использовать, является следующее:

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

Пользовательские таксономии работают нормально в администрации, и я могу пойти в myurl.com/main-ingredient/pork и посмотреть список всех блюд с свининой в них.

То, что я хочу сделать, это ударить myurl.com/main-ingredient и получить список всех различных значений основного ингредиента.

Я нашел эту ссылку, и это именно то, что я пытаюсь сделать.

Но решение не работает для меня – я все еще получаю 404 при переходе на myurl.com/main-ingredient

Любые предложения о том, как лучше всего это сделать?

Solutions Collecting From Web of "Страница пользовательской таксономии?"

Нет ничего встроенного в WordPress для предоставления «индексной» страницы для вашей таксономии, так как ваш вопрос подразумевает, что должен быть (и я согласен, должно быть! Но этого нет).

Вместо этого вы должны взломать его, и один из способов сделать это – создать страницу под названием «Основной ингредиент» с помощью main-ingredient URL main-ingredient адреса main-ingredient и присвоить ему шаблон страницы для вашей темы, который вы создадите (возможно), называемый «Список основных ингредиентов» " :

Скриншот, показывающий, где установить шаблон страницы в WordPress

Вот начальная точка; возможно, используйте page-main-ingredient-list.php имени файла page-main-ingredient-list.php для вашего шаблона страницы:

 <?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 "<h2><a href=\"{$link}\">{$main_ingredient->name}</a></h2>"; echo '<ul>'; while ( $dishes->have_posts() ) { $dishes->the_post(); $link = get_permalink($post->ID); $title = get_the_title(); echo "<li><a href=\"{$link}\">{$title}</a></li>"; } echo '</ul>'; } get_footer(); 

И вот вот что выглядит страница с некоторыми фиктивными данными на моем тестовом сайте:

Снимок экрана страницы индекса таксономии для сайта WordPress