Помогите разобраться с 404 при переходе по таксономии
-
Люди, прошу вас объяснить (разжевать) мне…
Есть произвольная запись: need
К ней создана таксономия: help
В итоге в админке, в левой панели есть:
Need => Все Need
Добавить Need
Рубрики Need
Если мы проваливаемся в Рубрики Need, то адрес у нас такой:
http://localhost:8089/wp-admin/edit-tags.php?taxonomy=help&post_type=need
Есть файл: taxonomy-help.php в котором указано:
* Template Name: taxonomy-help.php
* Template Post Type: need1.Создаём новую рубрику Need, которая имеет slug ‘all’
2.Создаём новую рубрику Need, которая имеет slug ‘notall’
3. Переходим по адресу:
http://localhost:8089/help/all/ или http://localhost:8089/help/notall/
и попадаем на 404 ошибку.
4. В каждой рубрике (slug ‘all’/slug ‘notall’) прикреплены записи (в каждой свои, для удобства тестирования).
5. Если мы переходим по произвольной записи, то имеем адрес:
http://localhost:8089/need/testovaya-zapis-1/
Хотя, при создании записи, в разделе рубрики (термы) отмечены соответствующие рубрики (slug ‘notall’)Я перечитал и опробовал то, что есть тут: https://developer.wordpress.org/reference/classes/wp_query/#taxonomy-parameters
Я не могу понять, почему у меня ничего не выводится даже по такому примеру:
<?php $args = array( 'post_type' => 'post', 'tax_query' => array( array( 'taxonomy' => 'help', 'field' => 'slug', 'terms' => 'all', ), ), ); $query = new WP_Query( $args ); ?>
Пробовал разные варианты, но максимум что получается сделать, так это вывод названий всех созданных рубрик (термов) на странице в виде общего текста с «мёртвой» ссылкой (т.е. ссылки на текущую страницу) и кол-вом записей после ссылки.
Вот код:<?php $number = 0; // 0=все рубрики. Можно ограничиться кол-вом рубрик указав соответствующую цифру. $args = array( 'number' => $number, 'orderby' => 'count', 'order' => 'DESC' ); $terms = get_terms('help', $args); if($terms){ echo '<ul>'; foreach ($terms as $term){ echo '<a href="">'; echo "<li>{$term->name}{$term_id->ID}"; echo '</a>'; echo " ({$term->count})</li>"; // рядом в скобках указываем количество записей в категории } echo '</ul>'; } ?>
Или в виде ссылки на рубрику, при переходе на которую попадаешь на 404 ошибку.
Вот код:<?php $term_slug = 'notall'; //передавать нужно альтернативное имя (slug) $term_link = get_term_link($term_slug, 'help'); echo '<a href="'. $term_link .'">ссылка на раздел '. $term_slug .'</a>'; ?>
Вопросы:
1.Как сделать так, чтобы при переходе на http://localhost:8089/help/all/ выводился список постов, который относится к slug ‘all’ и не выводился список постов slug ‘notall’.
2.Как сделать так, чтобы при переходе на http://localhost:8089/help/all/ выводился список постов, который относится к slug ‘all’ и всем его дочкам.
3. Как сделать чтобы при переходе не попадать на 404 ошибку?
- Тема «Помогите разобраться с 404 при переходе по таксономии» закрыта для новых ответов.