Если ваша иерархическая таксономия не имеет терминов в термине-родителе, тогда стандартная система архивов таксономий для вас бесполезна. Вместо этого вы хотели бы отображать ссылки таксономии.
В этом случае хорошим решением может быть создание пользовательской целевой страницы для термина. Мы снова используем query_vars, чтобы определить, находится ли пользователь на первой странице архива таксономии. Если да, мы используем фильтр taxonomy_archive для включения отдельного шаблона, вот так:
<?php add_filter( 'taxonomy_archive ', 'slug_tax_page_one' ); function slug_tax_page_one( $template ) { if ( is_tax( 'TAXONOMY_NAME' ) ) { global $wp_query; $page = $wp_query->query_vars['paged']; if ( $page = 0 ) { $template = get_stylesheet_directory(). '/taxonomy-page-one.php'; } } return $template; } ?>
Этот коллбэк сначала проверяет, что пользователь находится в нужной таксономии. Мы можем задействовать все таксономии, изменив is_tax( ‘TAXONOMY_NAME’ ) на просто is_tax(). Затем он получает текущую страницу, используя переменную query_var под именем paged, и если пользователь на первой странице, то возвращается адрес файла нового шаблона. Если нет — возвращается файл стандартного шаблона.
Что вы поместите в этот файл шаблона — решать вам. Вы можете создать список терминов, используя код выше. Вы можете использовать его для вывода любого содержимого — например, больше информации о термине таксономии или ссылки на конкретные записи.
Контроль — за вами
Немного работы — и базовая архитектура WordPress, которая по прежнему отражает свое назначение, как платформы для блога, может быть изменена для удовлетворения потребностей любого сайта или Веб-приложения. Применение пользовательских таксономий для организации вашего контента в нужном вам русле будет важным шагом во многих ваших проектах на WordPress. Надеюсь, эта статья продвинула вас на шаг ближе к полноценному использованию этого мощного аспекта WordPress.
Статьи из раздела:
- Как работают архивы таксономий, тегов, категорий и пользовательских типов таксономий.
- Создание пользовательских таксономий
- Использование WP_Query с пользовательскими таксономиями
- Добавление пользовательских типов записей к архивам категорий и тегов.
- Делаем архивы категорий или таксономии иерархическими
Полезная статейка.
Здравствуйте! Я создал таксономию, понял как отобразить архив одной, созданной таксономии. Но, так как у нас на сайте есть фильтр для поиска, и мы создаем несколько новых таксономий, каким образом будет выводиться архив, нескольких таксономий, в случаи выбора пользователем, нескольких таксономий? Сразу оговорюсь не силен в php, поэтому буду благодарен, объяснению, на более понятном языке =)
Здравствуйте. В данном примере мы создаем шаблон для архива таксономии «TAXONOMY_NAME». И будет открываться только тогда когда мы просматриваем архив(категории) данной таксономии(то есть»TAXONOMY_NAME» ).
Фильтры обычно делаются на обычных страницах(page.php), соответственно и вывод самого контента будет произвольный, на этой же странице(как сделаете).
Так же фильтр может быть реализован(или вести) на страницу search.php — именно этот шаблон и будет отображать результаты.
Что я хотел этим сказать. Шаблон для TAXONOMY_NAME — будет отображать только посты из таксономии TAXONOMY_NAME.
Что касается фильтра это нужно смотреть как он реализован.