Мне нравится создавать целевую страницу для моих пользовательских таксономий. В настоящее время ive создал три пользовательских таксономии
/country/[terms] /person/[terms] /interrests/[terms]
Мне нравится создавать страницу для каждой из таксономии, на этой странице списка должны быть указаны все [термины], которые они содержат. И ссылка на нормальный ( taxonomy-[term].php
/taxonomy/[term]
) url. Каков правильный способ реализации этого?
Сначала я думал что-то в строках с template_redirect и создавал собственный файл taxonomy-list.php
для включения в действие, которое вручную запрашивает с помощью WP_Query()
Я вижу как минимум 3 способа сделать это.
Добавление правила перезаписи. Подробнее см. http://codex.wordpress.org/Rewrite_API :
add_rewrite_rule('^(country|person]interest)/?','index.php?tax=$matches[1]','top');
затем используйте фильтр template_redirect
для загрузки вашего шаблона, когда существует tax
переменная:
if (get_query_var('tax')) { # load the template here }
Вам также нужно будет добавить tax
запрос var в список фильтрованных варов, используя фильтр query_vars
.
Создание страниц с использованием конкретного шаблона для перечисления терминов
В вашем случае вам нужно создать три пользовательских файла: taxonomy-country.php
, taxonomy-person.php
и taxonomy-interrests.php
.
Обратите внимание на суффиксы этих шаблонов. Он должен быть таким же, как при регистрации таксономии. Например, если вы зарегистрируете свою таксономию, как register_taxonomy( 'genre', array( 'book' ), $args );
, то ваш пользовательский шаблон должен иметь имя taxonomy-genre.php
.