Поддержка Разное Ошибка 404 при переходе на страницу таксономии

  • Добрый день.

    Создан постайп:
    «one_type»
    Созданы таксономии:
    «one_tax»,»two_tax»,»three_tax»
    В каждой таксономии созданы категории:
    «one_cat»,»two_cat»,»three_cat»

    При переходе на страницу таксономии http://www.site/one_tax — у меня выдает ошибку 404. При переходе по ссылке http://www.site/one_type/one_tax -так же ошибка 404. При всем этом у меня создан файл taxonomy-one_tax.php но он почему-то срабатывает не для страницы таксономии, а для страницы категории таксономии тоесть к примеру one_cat.

    Настройки ЧПУ в настройках вордпресса: «Название записи».

    Просьба помочь в решении данной проблемы, несколько дней уже бьюсь в стену, не могу решить. Большое спасибо.

Просмотр 7 ответов — с 1 по 7 (всего 7)
  • Модератор Юрий

    (@yube)

    При переходе на страницу таксономии http://www.site/one_tax — у меня выдает ошибку 404.

    А что Вы ожидаете увидеть на странице таксономии?

    Шаблон страницы который находиться в файле «taxonomy-one_tax.php».
    А именно вывод категорий таксономии с постами относящихся к ним.

    Модератор Юрий

    (@yube)

    А именно вывод категорий таксономии с постами относящихся к ним.

    Всех термов (как Вы их не совсем корректно назвали — категорий) и относящихся к ним записей? Нет, WordPress так не делает. Шаблон taxonomy-{taxonomy}.php предназначен для вывода списка записей, относящихся к конкретному терму (или группе в случае использования операторов группировки), если терм относится к указанной таксономии. Таксономия, как и тип записи — признаки, но не сущности, в отличие от записей и термов, являющихся сущностями. Сущности выводятся, признаки только существуют. Можно попробовать посмотреть нативные таксономии по адресам /category/ и /tag/ Уж их-то движок вывел бы, если бы умел, правда? 🙂

    И на всякий случай: запрос первичен и определяет какой шаблон можно/нужно использовать, а не наоборот. Многие путают.

    Извините, приведу в пример то что описывал выше, мне так проще понять:) Правильно ли я Вас понял, taxonomy-{taxonomy}.php предназначен именно для вывода «one_cat», а не «one_tax» ?
    И как тогда создать страницу с выводом всех «one_cat»,»two_cat»,»three_cat» и постов относящихся к ним на странице «one_tax»?

    Модератор Юрий

    (@yube)

    Правильно ли я Вас понял, taxonomy-{taxonomy}.php предназначен именно для вывода «one_cat», а не «one_tax» ?

    Почти да 🙂 При условии, что терм one_cat относится к таксономии one_tax, для вывода списка записей из one_cat будет использован шаблон taxonomy-one_tax.php. Точно также, как для вывода списка постов из рубрики one может быть использован шаблон category-one.php. Механизмы для нативных и кастомных таксономий используются одни и те же.

    И как тогда создать страницу с выводом всех «one_cat»,»two_cat»,»three_cat» и постов относящихся к ним на странице «one_tax»?

    Вывести список всех термов такосномии можно на статической странице, создав для нее индивидуальный шаблон, разместив в нем вывод элементов массива, полученного от функции get_terms().

    Аналогично можно получить и записи, имеющие отношение к термам из таксономии. См. https://developer.wordpress.org/reference/classes/wp_query/#taxonomy-parameters

    Я не уверен, можно ли получить записи по одному только имени таксономии, не указав поименно все термы. Просто никогда такого не делал.

    Юрий, если я Вас правильно понял.
    На странице «Каталог» — установив свою шаблоную страницу я могу вывести все «one_tax»,»two_tax», «three_tax». Но переходы на каждую из «***_tax» я буду переходить на отдельную созданную страницу «***_tax» со своим шаблоном. И уже в этом шаблоне я делаю вывод всех «one_cat»,»two_cat»,»three_cat» и постов для них. Верно? 🙂

    Модератор Юрий

    (@yube)

    свою шаблоную страницу

    Если в смысле страницу с индивидуальным шаблоном, то да. Но не обязательно.

    я могу вывести все «one_tax»,»two_tax», «three_tax»

    В виде ссылок на другие страницы — да. Либо по-простому вручную, либо скриптом, если сделаете связь таксономии со страницей (слаг или произвольное поле). Вручную проще, автомат удобнее, если список таксономий может активно расширяться.

    И уже в этом шаблоне я делаю вывод всех «one_cat»,»two_cat»,»three_cat» и постов для них. Верно?

    Где-то так 🙂 Как Вы могли заметить, тут есть свобода для маневра, влекущая некоторые отличия в реализации.

Просмотр 7 ответов — с 1 по 7 (всего 7)
  • Тема «Ошибка 404 при переходе на страницу таксономии» закрыта для новых ответов.