В WordPress таксономии — это один из ключевых инструментов для организации контента. Помимо стандартных категорий и меток, можно создавать собственные таксономии, которые помогут структурировать информацию на сайте более гибко и удобно. В этой статье разберём, как зарегистрировать собственную таксономию и использовать её в шаблонах, а также рассмотрим примеры с кодом и рекомендации по плагинам для управления таксономиями.
Что такое собственные таксономии в WordPress и зачем они нужны
Стандартный WordPress предлагает две встроенные таксономии: категории (category) и метки (tag). Они отлично подходят для большинства блогов и сайтов, но если у вас проект со специфической структурой контента, например, каталог товаров, портфолио, или новостной сайт с несколькими направлениями, то собственные таксономии значительно расширяют возможности организации данных.
Собственные таксономии позволяют создавать тематические группы и фильтры, удобные для пользователей и поисковых систем. Например, если у вас сайт с рецептами, вы можете добавить таксономию «Тип кухни» или «Время приготовления».
Кроме того, собственные таксономии можно связать с любыми типами записей (post types), что делает систему гибкой и универсальной.
Как зарегистрировать собственную таксономию в WordPress
Регистрация таксономии осуществляется с помощью функции register_taxonomy. Для удобства и чтобы избежать конфликтов, добавим префикс wppartner_ к названиям функций.
Пример регистрации таксономии wppartner_register_taxonomy_genre для типа записи book:
function wppartner_register_taxonomy_genre() {
$labels = array(
'name' => 'Жанры',
'singular_name' => 'Жанр',
'search_items' => 'Поиск жанров',
'all_items' => 'Все жанры',
'parent_item' => 'Родительский жанр',
'parent_item_colon' => 'Родительский жанр:',
'edit_item' => 'Редактировать жанр',
'update_item' => 'Обновить жанр',
'add_new_item' => 'Добавить новый жанр',
'new_item_name' => 'Название нового жанра',
'menu_name' => 'Жанры',
);
$args = array(
'hierarchical' => true, // как категории
'labels' => $labels,
'show_ui' => true,
'show_admin_column' => true,
'query_var' => true,
'rewrite' => array('slug' => 'genre'),
);
register_taxonomy('genre', array('book'), $args);
}
add_action('init', 'wppartner_register_taxonomy_genre');В этом примере создаётся таксономия «Жанры» для типа записи «book». Параметр hierarchical устанавливает вид таксономии — древовидный (как категории) или плоский (как метки).
Основные параметры функции register_taxonomy
- hierarchical: true — таксономия ведёт себя как категории, false — как метки;
- labels: массив с текстами интерфейса в админке;
- show_ui: показывать ли интерфейс управления в админке;
- show_admin_column: выводить ли колонку с таксономией в списке записей;
- rewrite: правила ЧПУ для таксономии;
- query_var: поддержка параметра в URL для фильтрации.
Как использовать собственные таксономии в шаблонах WordPress
После регистрации таксономии можно выводить связанные с ней данные в шаблонах сайта. Рассмотрим пример вывода списка терминов таксономии «genre» для записи:
<?php
$terms = get_the_terms(get_the_ID(), 'genre');
if ($terms && !is_wp_error($terms)) {
echo '<ul class="wppartner-genre-list">';
foreach ($terms as $term) {
echo '<li><a href="' . esc_url(get_term_link($term)) . '">' . esc_html($term->name) . '</a></li>';
}
echo '</ul>';
}
?>Этот код получает термины таксономии для текущей записи и выводит их списком с ссылками на архивные страницы.
Вывод записей по собственной таксономии
Чтобы вывести все записи типа book с определённым термином таксономии genre, используйте WP_Query с параметром tax_query:
$args = array(
'post_type' => 'book',
'tax_query' => array(
array(
'taxonomy' => 'genre',
'field' => 'slug',
'terms' => 'fantasy',
),
),
);
$query = new WP_Query($args);
if ($query->have_posts()) {
while ($query->have_posts()) {
$query->the_post();
echo '<h2>' . get_the_title() . '</h2>';
}
wp_reset_postdata();
} else {
echo 'Записей не найдено';
}Рекомендации по плагинам для управления таксономиями
Если вы не хотите писать код вручную, можно использовать специализированные плагины для создания и управления таксономиями:
- Custom Post Type UI — самый популярный плагин для регистрации собственных типов записей и таксономий через удобный интерфейс;
- Pods — расширенный плагин для управления типами записей, таксономиями и кастомными полями;
- Toolset Types — мощный набор инструментов для создания сложных структур контента без кода.
Все эти плагины позволяют быстро создавать таксономии, управлять их параметрами и применять их к разным типам записей.
Практические советы по работе с собственными таксономиями
При использовании собственных таксономий важно учитывать несколько моментов:
- Подумайте о названии и слагах таксономии — они должны быть уникальными и не конфликтовать со стандартными;
- Оптимизируйте шаблоны — для таксономий можно создавать отдельные файлы archive-{taxonomy}.php, чтобы кастомизировать вывод;
- Используйте ЧПУ — настройте параметр
rewriteдля удобных и SEO-дружественных URL; - Не перегружайте сайт — не создавайте слишком много таксономий без необходимости, чтобы не усложнять админку и структуру сайта.
Если нужно автоматизировать настройку сайта и улучшить SEO, обратите внимание на плагин Clearfy Pro. Он помогает управлять функционалом WordPress, включая таксономии, и повышает производительность.