Поддержка Проблемы и решения Помогите разобраться с 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: need

    1.Создаём новую рубрику 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 при переходе по таксономии» закрыта для новых ответов.