Intereting Posts
Задание таблицы стилей и обеспечение ее загрузки до (не после) таблицы стилей темы Сделать ссылку меню открытой на новой вкладке? Решение проблемы get_user_meta () в Multisite Создание функции загрузки многократных изображений в Параметры темы? Как уменьшить количество правил перезаписи? получить идентификатор меню, используя его имя Render shortcodes с get_post_custom Измените the_title () страницы динамически Есть ли плагин, который позволяет мне сохранять дополнительный невидимый контент за сообщение? Выделить текущий тип сообщения, когда внутри пользовательского типа сообщения Как использовать собственный домен? Отображать сообщения только из одной формы сообщения в пользовательском запросе и исключать в основном запросе Поиск пользовательских таксономических тегов иметь секретного пользователя уровня администратора или строить бэкдор Недостаток производительности второй установки вместо многосайтовой функции?

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

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

$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