Как использовать Custom Post Types в WordPress для создания новых видов контента

WordPress по умолчанию предлагает стандартные типы записей — записи (posts) и страницы (pages). Но зачастую для сайтов нужны собственные типы контента, например, портфолио, отзывы, товары, мероприятия и прочее. Для этого используются Custom Post Types (CPT) — пользовательские типы записей, позволяющие гибко расширять структуру сайта.

Что такое Custom Post Types и зачем они нужны в WordPress

Custom Post Types — это специальный механизм WordPress, который позволяет создавать новые типы записей с уникальными параметрами и логикой. Они позволяют структурировать контент лучше, чем просто категории и теги, и позволяют создавать админ-панель с удобными интерфейсами для новых видов информации.

Например, если вы ведёте сайт с событиями, лучше создать CPT «События», чем пытаться подгонять события под стандартные записи. Так вы сможете добавить отдельные поля, метки и даже шаблоны отображения.

Также CPT хорошо интегрируются с таксономиями, метаполями и REST API WordPress. Это делает их универсальным инструментом для разработчиков.

Создание Custom Post Type с помощью кода в functions.php

Самый популярный способ — зарегистрировать CPT через функцию register_post_type(). Ниже пример создания CPT «Отзывы» с базовыми настройками:

function wplite_register_post_type_reviews() {
    $labels = array(
        'name'               => 'Отзывы',
        'singular_name'      => 'Отзыв',
        'add_new'            => 'Добавить отзыв',
        'add_new_item'       => 'Добавить новый отзыв',
        'edit_item'          => 'Редактировать отзыв',
        'new_item'           => 'Новый отзыв',
        'view_item'          => 'Просмотреть отзыв',
        'search_items'       => 'Искать отзывы',
        'not_found'          => 'Отзывы не найдены',
        'not_found_in_trash' => 'В корзине отзывы не найдены',
        'menu_name'          => 'Отзывы',
    );

    $args = array(
        'labels'             => $labels,
        'public'             => true,
        'has_archive'        => true,
        'rewrite'            => array('slug' => 'otzyvy'),
        'supports'           => array('title', 'editor', 'author', 'thumbnail', 'comments'),
        'show_in_rest'       => true,
    );

    register_post_type('wplite_reviews', $args);
}
add_action('init', 'wplite_register_post_type_reviews');

Обратите внимание на параметр 'show_in_rest' => true, который включает поддержку Gutenberg и REST API для кастомного типа.

Настройка кастомных таксономий для Custom Post Types

Для удобной категоризации CPT разумно добавить свои таксономии. Например, для отзывов можно добавить таксономию «Тип отзыва».

Пример регистрации таксономии:

function wplite_register_taxonomy_review_type() {
    $labels = array(
        'name'              => 'Типы отзывов',
        'singular_name'     => 'Тип отзыва',
        'search_items'      => 'Искать типы',
        'all_items'         => 'Все типы',
        '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' => 'review-type'),
        'show_in_rest'      => true,
    );

    register_taxonomy('wplite_review_type', array('wplite_reviews'), $args);
}
add_action('init', 'wplite_register_taxonomy_review_type');

Теперь в админке при создании отзывов появится возможность назначать типы отзывов.

Использование популярных плагинов для создания Custom Post Types

Если кодинг не ваш конёк или хотите упростить задачу, можно использовать плагины. Вот несколько проверенных инструментов:

  • Custom Post Type UI — удобный интерфейс для создания CPT и таксономий без кода.
  • Pods — расширенный плагин для управления CPT, метаполями, таксономиями и связями между ними.
  • Toolset Types — мощный инструмент с визуальными настройками и интеграцией с другими плагинами.

Для сайта с небольшим опытом рекомендую начать с Custom Post Type UI, так как он прост и понятен.

Пример вывода Custom Post Types на фронтенде

Для отображения кастомных записей в шаблоне можно использовать WP_Query. Пример вывода последних 5 отзывов с их типами:

$args = array(
    'post_type'      => 'wplite_reviews',
    'posts_per_page' => 5,
);

$query = new WP_Query($args);

if ($query->have_posts()) {
    echo '<ul>';
    while ($query->have_posts()) {
        $query->the_post();
        $types = get_the_terms(get_the_ID(), 'wplite_review_type');
        $type_names = array();
        if ($types && !is_wp_error($types)) {
            foreach ($types as $type) {
                $type_names[] = $type->name;
            }
        }
        echo '<li><strong>' . get_the_title() . '</strong> (' . implode(', ', $type_names) . ')<br>' . get_the_excerpt() . '</li>';
    }
    echo '</ul>';
    wp_reset_postdata();
} else {
    echo 'Отзывы не найдены.';
}

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

Советы и лучшие практики при работе с CPT

1. Используйте префикс в названии CPT и таксономий, например, wplite_, чтобы избежать конфликтов с другими плагинами.

2. Указывайте show_in_rest = true, чтобы обеспечить поддержку редактора Gutenberg и REST API.

3. Для сложных структур используйте метаполя — их можно добавить с помощью ACF (Advanced Custom Fields) или Pods.

4. Если CPT должен иметь архив — указывайте has_archive = true и продумывайте удобные URL с помощью rewrite.

5. Тестируйте отображение CPT на фронтенде, чтобы обеспечить удобство для пользователей и SEO.

Интеграция Custom Post Types с плагином Clearfy Pro для оптимизации

Плагин Clearfy Pro позволяет оптимизировать работу сайта, включая управление CPT. Например, вы можете отключать неиспользуемые CPT и таксономии для ускорения загрузки сайта и снижения нагрузки на базу данных.

Также Clearfy помогает в оптимизации URL и SEO-настроек для кастомных записей, что важно для успешного продвижения.

Заключение

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

Использование WooCommerce хуков для расширения логики оформления заказа
18.04.2026
Как использовать REST API в WordPress для создания кастомных приложений
22.11.2025
Как удалить все метаданные из записей WordPress
22.12.2025
Как отключить автоматический кэш в WordPress: практическое руководство
26.02.2026
Как удалить закрепленные сообщения в WordPress
28.01.2026