Как создать и использовать кастомные таксономии в WordPress

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

Что такое кастомные таксономии в WordPress

Таксономии в WordPress — это способ группировки записей. По умолчанию в системе есть две таксономии: category и tag. Кастомные таксономии позволяют создавать дополнительные типы группировок, например, жанры, направления, темы, типы продуктов и так далее.

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

Регистрируем кастомную таксономию через functions.php

Для регистрации кастомной таксономии в вашей теме или плагине используется функция register_taxonomy(). Рассмотрим пример создания таксономии topic для постов:

function two_wp_register_taxonomy_topic() {
    $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' => 'topic'),
    );

    register_taxonomy('topic', array('post'), $args);
}
add_action('init', 'two_wp_register_taxonomy_topic');

В этом примере создаётся иерархическая таксономия «Темы», доступная для стандартных записей (post). В админке WordPress появится новый пункт для управления темами.

Использование кастомных таксономий в шаблонах

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

$terms = get_the_terms(get_the_ID(), 'topic');
if ($terms && !is_wp_error($terms)) {
    echo '<ul class="two-wp-topics">';
    foreach ($terms as $term) {
        echo '<li>' . esc_html($term->name) . '</li>';
    }
    echo '</ul>';
}

Так вы сможете вывести темы, к которым относится текущая запись. Это важно для улучшения UX и SEO.

Фильтрация и запросы с кастомными таксономиями

Чтобы получить записи по определённой таксономии или термину, используйте класс WP_Query с параметром tax_query. Например, получить последние 5 записей с темой «Новости»:

$query = new WP_Query(array(
    'post_type' => 'post',
    'posts_per_page' => 5,
    'tax_query' => array(
        array(
            'taxonomy' => 'topic',
            'field'    => 'slug',
            'terms'    => 'novosti',
        ),
    ),
));

if ($query->have_posts()) {
    while ($query->have_posts()) {
        $query->the_post();
        echo '<a href="' . get_permalink() . '">' . get_the_title() . '</a><br>';
    }
    wp_reset_postdata();
}

Это позволяет гибко создавать архивы и списки материалов по нужным критериям.

Плагины для работы с кастомными таксономиями

Если кодирование вручную кажется сложным, можно использовать плагины. Один из популярных — Custom Post Type UI. Он позволяет создавать таксономии через удобный интерфейс, не трогая код.

Также для управления выводом таксономий хорошо подходит плагин Clearfy Pro, который помогает оптимизировать и настроить структуру сайта.

Как удалить или изменить таксономию

Иногда нужно удалить зарегистрированную таксономию или изменить её параметры. Удалить таксономию в рантайме можно функцией unregister_taxonomy(), но она доступна только с WordPress 4.5 и выше.

function two_wp_unregister_topic_taxonomy() {
    unregister_taxonomy('topic');
}
add_action('init', 'two_wp_unregister_topic_taxonomy', 20);

Для изменения параметров — лучше редактировать код регистрации или использовать фильтры, чтобы не допустить конфликтов с другими плагинами.

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

  • Гибкая организация контента, удобная навигация для пользователей.
  • Улучшение SEO за счёт создания тематических архивов.
  • Разграничение контента по типам без необходимости создавать новые типы записей.
  • Возможность использования в шаблонах и запросах для кастомного вывода.
  • Совместимость с плагинами для расширения функционала.

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

Итоги и рекомендации

Для создания кастомных таксономий в WordPress рекомендуется использовать register_taxonomy() с подробным описанием меток и параметров. В шаблонах важно правильно выводить термины и использовать WP_Query для фильтрации контента. Если вы предпочитаете визуальные решения — обратите внимание на плагины Custom Post Type UI и Clearfy Pro.

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

Автоматическое создание собственного шорткода с параметрами в WordPress
11.12.2025
Как разрешить доступ к файлам в WordPress по ролям
07.04.2026
Как использовать WooCommerce хуки для автоматизации управления заказами
10.05.2026
Как установить ограничение на размер загружаемых файлов в WordPress
29.03.2026
Как автоматически обновлять контент в WordPress с помощью WP-Cron
10.04.2026