Как создать собственную таксономию в WordPress с помощью кода

Что такое таксономии в WordPress и зачем создавать свои

В WordPress таксономии — это способ группировки контента. По умолчанию доступны категории и метки, но часто их возможностей недостаточно для сложных проектов. Создание собственных таксономий позволяет структурировать контент более гибко и удобно, например, для интернет-магазина можно создать таксономию «Бренд» или «Тип продукта».

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

Рассмотрим, как программно добавить таксономию и использовать её в шаблонах.

Регистрация пользовательской таксономии: практический пример

Для создания таксономии нужно использовать функцию register_taxonomy. Лучшее место для этого — хук init. Ниже пример создания таксономии «Тип проекта» для постов:

function wpdirect_register_taxonomy_project_type() {
    $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' => 'project-type'),
    );

    register_taxonomy('project_type', array('post'), $args);
}
add_action('init', 'wpdirect_register_taxonomy_project_type');

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

Отображение пользовательской таксономии в шаблонах WordPress

Чтобы вывести термины таксономии на странице записи, используйте функцию get_the_term_list. Например, добавим вывод типов проектов в single.php:

if ( $terms = get_the_term_list( get_the_ID(), 'project_type', '', ', ', '' ) ) {
    echo '<div class="project-types"><strong>Типы проекта:</strong> ' . $terms . '</div>';
}

Так вы получите ссылки на все типы, которыми помечен пост. Это улучшит UX и SEO, так как поисковики индексируют архивные страницы таксономий.

Создание кастомного шаблона архива таксономии

WordPress автоматически ищет файл taxonomy-{taxonomy}.php для отображения архивов таксономии. Для нашей таксономии создайте файл taxonomy-project_type.php в теме и добавьте туда кастомный вывод.

Пример простой структуры архива:

<?php get_header(); ?>
<h1>Архив типов проектов: <?php single_term_title(); ?></h1>
<?php if ( have_posts() ) : ?>
    <ul>
    <?php while ( have_posts() ) : the_post(); ?>
        <li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
    <?php endwhile; ?>
    </ul>
<?php else : ?>
    <p>Записей не найдено.</p>
<?php endif; ?>
<?php get_footer(); ?>

Так вы сможете контролировать вывод и стилизацию страниц таксономии.

Использование пользовательских таксономий в запросах WP_Query

Для вывода постов с определённым термином таксономии используется параметр tax_query. Например, вывод всех постов с типом проекта «Разработка»:

$args = array(
    'post_type' => 'post',
    'tax_query' => array(
        array(
            'taxonomy' => 'project_type',
            'field'    => 'slug',
            'terms'    => 'razrabotka',
        ),
    ),
);
$query = new WP_Query($args);

if ($query->have_posts()) {
    while ($query->have_posts()) {
        $query->the_post();
        echo '<a href="' . get_permalink() . '">' . get_the_title() . '</a><br>';
    }
    wp_reset_postdata();
} else {
    echo 'Посты не найдены';
}

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

Советы по оптимизации и совместимости

1. Для SEO важно правильно настроить параметр rewrite в register_taxonomy, чтобы URL были человекочитаемыми.

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

3. Если нужна интеграция с популярными плагинами SEO или кэширования, проверьте их совместимость с пользовательскими таксономиями.

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

Заключение

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

Если хотите упростить работу с таксономиями и повысить производительность сайта, обратите внимание на Clearfy Pro — плагин с набором инструментов для оптимизации WordPress.

WooCommerce: автоматическое изменение статуса заказа при неудачной оплате
12.06.2026
Как создать автоматические нотификации в WordPress через Webhook
26.02.2026
WooCommerce: автоматическое отключение отзывов по условиям
25.06.2026
Как создать автоматические редиректы в WordPress без плагинов
06.02.2026
Использование Transient API для кэширования данных в WordPress
09.04.2026