Как создать и настроить собственную иерархию таксономий в WordPress

|

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

Что такое иерархическая таксономия в WordPress и зачем она нужна

Иерархическая таксономия — это способ группировки записей, где элементы могут иметь вложенность, то есть родительские и дочерние термины. Классический пример — категории. В отличие от меток, которые не имеют структуры, иерархия позволяет создавать многоуровневую организацию контента.

Создание собственной иерархической таксономии помогает лучше структурировать сложные сайты, например, интернет-магазины, сайты с каталогами или новостные порталы с тематическими разделами.

Помимо удобства для пользователей, иерархия таксономий улучшает SEO за счёт логичной структуры URL и навигации.

Как зарегистрировать свою иерархическую таксономию: пример кода

Для создания таксономии используется функция register_taxonomy. Важно передать параметр 'hierarchical' => true, чтобы включить поддержку иерархии.

Рассмотрим пример регистрации таксономии wphierarchy_genre для типа записи post с иерархией:

function wphierarchy_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('wphierarchy_genre', array('post'), $args);
}
add_action('init', 'wphierarchy_register_taxonomy_genre');

Этот код добавит в админ-панель раздел для работы с жанрами, которые можно организовывать в иерархию, например, «Фантастика» > «Киберпанк».

Отображение иерархии в шаблонах

Чтобы вывести иерархию терминов на фронтенде, используйте функцию wp_list_categories с параметром вашей таксономии:

wp_list_categories(array(
    'taxonomy' => 'wphierarchy_genre',
    'title_li' => '',
    'hierarchical' => true
));

Это создаст вложенный список жанров с поддержкой подуровней.

Как расширить возможности иерархических таксономий с помощью плагинов

Если вы хотите добавить дополнительные поля к терминам или сделать удобный интерфейс управления иерархией, обратите внимание на следующие плагины:

Используя эти инструменты, вы сможете настроить иерархию таксономий максимально удобно и функционально.

Пример использования кастомных полей для таксономии и вывод данных

Допустим, к жанрам мы хотим добавить изображение. С помощью ACF создадим новое поле «Изображение жанра» для таксономии wphierarchy_genre.

В шаблоне для вывода списка жанров можно получить и вывести это изображение так:

$terms = get_terms(array(
    'taxonomy' => 'wphierarchy_genre',
    'hide_empty' => false,
));

if (!empty($terms) && !is_wp_error($terms)) {
    echo '<ul>';
    foreach ($terms as $term) {
        $image_id = get_field('image', $term); // ACF функция
        $image_url = wp_get_attachment_image_url($image_id, 'thumbnail');
        echo '<li>';
        if ($image_url) {
            echo '<img src="' . esc_url($image_url) . '" alt="' . esc_attr($term->name) . '" style="width:50px;height:auto;"/> ';
        }
        echo esc_html($term->name);
        echo '</li>';
    }
    echo '</ul>';
}

Такой подход улучшит визуальное восприятие иерархии на сайте.

Советы по оптимизации иерархических таксономий и SEO

Иерархия таксономий влияет на формирование ЧПУ (человекопонятных URL). Например, для термина «Киберпанк» внутри «Фантастика» URL будет выглядеть как /genre/fantastika/kiberpank/. Это хорошо для SEO, но требует правильной настройки пермалинков.

Чтобы избежать проблем с дублями страниц и улучшить индексацию, рекомендуем:

Также старайтесь не создавать слишком глубокую вложенность, чтобы не ухудшать навигацию и скорость загрузки.

Как создать и настроить собственную иерархию таксономий в WordPress
06.12.2025
Как создать иерархию динамических блоков на странице WordPress
25.02.2026
Как создать иерархию кастомных типов постов с поддержкой REST API в WordPress
11.03.2026
Как создать иерархию пользователей с поддержкой REST API в WordPress
05.04.2026
Как создать иерархию коротких URL в WordPress с поддержкой кастомных типов постов
29.03.2026
×
Оптимизируй свой сайт!

Скидка -15% на премиум плагин Clearfy Pro

Купить плагин сейчас ⋙