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

Пользовательские типы записей (Custom Post Types, CPT) — это мощный инструмент WordPress, который позволяет создавать уникальные структуры контента, отличные от стандартных «Записей» и «Страниц». Использование CPT идеально подходит, если вам нужно организовать контент в виде каталогов, портфолио, отзывов, событий или других нестандартных объектов.

Что такое пользовательские типы записей и зачем они нужны

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

Пользовательские типы записей позволяют:

  • Разграничить контент по смыслу и функциональности.
  • Настроить отдельный интерфейс админки для удобного управления.
  • Добавить индивидуальные таксономии (рубрики, метки) для каждого типа.
  • Улучшить SEO и навигацию на сайте.

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

Как зарегистрировать пользовательский тип записи вручную

Самый гибкий способ — использовать функцию register_post_type() в файле functions.php вашей темы или в отдельном плагине. Рассмотрим пример регистрации типа «Отзывы» с базовыми настройками.

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

    $args = array(
        'labels'             => $labels,
        'public'             => true,
        'has_archive'        => true,
        'rewrite'            => array('slug' => 'reviews'),
        'show_in_rest'       => true, // Включает поддержку Gutenberg
        'supports'           => array('title', 'editor', 'author', 'thumbnail', 'comments'),
        'menu_position'      => 5,
        'menu_icon'          => 'dashicons-testimonial',
    );

    register_post_type('wpcom_reviews', $args);
}
add_action('init', 'wpcom_register_post_type_reviews');

В этом примере создается CPT с названием wpcom_reviews, который появляется в админ-панели с иконкой отзывов. Параметр supports определяет, какие метабоксы будут доступны при добавлении записи: заголовок, редактор, миниатюра и т.д.

Объяснение параметров

labels — массив с названиями для интерфейса админки на русском языке.
public — делает тип записи общедоступным на сайте и в админке.
has_archive — включает архивную страницу с перечнем всех записей типа.
rewrite — задаёт слаг для ЧПУ.
show_in_rest — важный параметр для поддержки редактора Gutenberg и REST API.
supports — набор функций, которые поддерживает тип записи.

Добавление пользовательских таксономий для CPT

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

function wpcom_register_taxonomy_review_type() {
    $labels = array(
        'name'          => 'Типы отзывов',
        'singular_name' => 'Тип отзыва',
        'search_items'  => 'Поиск типов отзывов',
        'all_items'     => 'Все типы',
        'edit_item'     => 'Редактировать тип',
        'add_new_item'  => 'Добавить новый тип',
        'menu_name'     => 'Типы отзывов',
    );

    $args = array(
        'hierarchical'      => true, // как рубрики
        'labels'            => $labels,
        'show_ui'           => true,
        'show_admin_column' => true,
        'query_var'         => true,
        'rewrite'           => array('slug' => 'review-type'),
    );

    register_taxonomy('wpcom_review_type', array('wpcom_reviews'), $args);
}
add_action('init', 'wpcom_register_taxonomy_review_type');

Теперь в админке вы увидите отдельный раздел для управления типами отзывов. Это удобно для фильтрации и организации контента.

Лучшие плагины для создания и управления CPT

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

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

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

Вывод пользовательских типов записей на фронтенде

После создания CPT нужно правильно вывести записи на сайте. Для этого создайте шаблон архива archive-wpcom_reviews.php в папке темы. Пример базового цикла вывода:

<?php get_header(); ?>

<h1>Отзывы наших клиентов</h1>

<?php if (have_posts()) : ?>
    <ul>
    <?php while (have_posts()) : the_post(); ?>
        <li>
            <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
            <div><?php the_excerpt(); ?></div>
        </li>
    <?php endwhile; ?>
    </ul>
<?php else : ?>
    <p>Отзывы не найдены.</p>
<?php endif; ?>

<?php get_footer(); ?>

Для одиночных отзывов создайте шаблон single-wpcom_reviews.php, где подробно выведите содержимое записи.

Советы по работе с CPT и производительностью

При работе с большим количеством пользовательских типов и записей стоит учитывать производительность:

  • Используйте show_in_rest => true для поддержки REST API и современных редакторов.
  • Кешируйте запросы к CPT с помощью Transients API или внешних плагинов кеширования.
  • Оптимизируйте таксономии — не создавайте слишком много иерархий без необходимости.
  • Следите за индексированием в поисковых системах — настройте robots.txt и метатеги для CPT.

Так вы получите структурированный, быстрый и удобный сайт на базе WordPress.

Заключение

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

Обновление WordPress без проблем и сохранение данных: практическое руководство
27.02.2026
Как удалить неиспользуемые метаключи в WordPress для оптимизации базы данных
04.02.2026
Как сделать отзывы с рейтингом в WordPress без плагинов
18.01.2026
Как удалить все посты из одной категории в WordPress: пошаговое практическое руководство
07.12.2025
Как сделать автоматический sitemap в WordPress с помощью кода
27.01.2026
×

AI-плагин от WPShop.ru

анализирует конкурентов

пишет статьи

готовит SEO

генерирует изображения

и еще кое-что...
WPGPT
Плагин, который наполняет ваш сайт WordPress
Узнать больше