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

Собственные типы записей (Custom Post Types, CPT) в WordPress позволяют расширить функциональность сайта, выходя за рамки стандартных записей и страниц. Например, если вы создаёте сайт с каталогом товаров, отзывами или событиями, CPT помогут структурировать контент и упростить его управление.

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

Стандартно WordPress предлагает два основных типа контента: записи (posts) и страницы (pages). Но для специфических задач этого часто недостаточно. Собственные типы записей позволяют создавать новые категории контента с уникальными параметрами и возможностями.

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

Основные преимущества CPT:

  • Разделение контента по типам для удобства управления;
  • Возможность назначать отдельные таксономии (категории и метки);
  • Настройка интерфейса админ-панели для удобства редактирования;
  • Гибкость при выводе и фильтрации на фронтенде.

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

Для регистрации CPT в WordPress используется функция register_post_type(), которую нужно вызвать на хук init. Ниже представлен пример, который регистрирует тип записей «Обзоры плагинов».

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

    $args = array(
        'labels'             => $labels,
        'public'             => true,
        'has_archive'        => true,
        'rewrite'            => array('slug' => 'plugin-reviews'),
        'show_in_rest'       => true, // для поддержки Gutenberg
        'supports'           => array('title', 'editor', 'thumbnail', 'excerpt', 'comments'),
        'menu_position'      => 5,
        'menu_icon'          => 'dashicons-admin-plugins',
        'taxonomies'         => array('category', 'post_tag'),
        'capability_type'    => 'post'
    );

    register_post_type('plugin_reviews', $args);
}
add_action('init', 'wpmanager_register_plugin_reviews_cpt');

Этот код нужно добавить в файл functions.php вашей темы или в собственный плагин. В результате в админ-панели появится новый пункт меню «Обзоры плагинов» с привычным интерфейсом.

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

labels — массив с названиями для разных элементов интерфейса.

public — делает тип записи доступным на сайте и в админке.

has_archive — разрешает архивную страницу типа записи.

rewrite — настраивает ЧПУ для типа записи.

show_in_rest — включает поддержку REST API и редактора Gutenberg.

supports — определяет, какие возможности редактора доступны (заголовок, редактор, миниатюра и т.д.).

menu_icon — иконка в меню админки.

Добавление кастомных таксономий к собственному типу записей

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

function wpmanager_register_review_type_taxonomy() {
    $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_in_rest'      => true,
        'show_admin_column' => true,
        'query_var'         => true,
        'rewrite'           => array('slug' => 'review-type'),
    );

    register_taxonomy('review_type', array('plugin_reviews'), $args);
}
add_action('init', 'wpmanager_register_review_type_taxonomy');

Теперь для каждого обзора можно выбрать тип, например, «Текстовый», «Видеообзор», «Сравнение» и т.д. Это поможет выводить обзоры по категориям на сайте.

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

Для отображения CPT можно использовать стандартный WP_Query. Вот пример функции для вывода последних 5 обзоров плагинов с их заголовками и ссылками:

function wpmanager_display_latest_plugin_reviews() {
    $args = array(
        'post_type'      => 'plugin_reviews',
        'posts_per_page' => 5
    );
    $query = new WP_Query($args);

    if ($query->have_posts()) {
        echo '<ul>';
        while ($query->have_posts()) {
            $query->the_post();
            echo '<li><a href="' . get_permalink() . '">' . get_the_title() . '</a></li>';
        }
        echo '</ul>';
    } else {
        echo '<p>Обзоры не найдены.</p>';
    }
    wp_reset_postdata();
}

Эту функцию можно вызвать в нужном месте шаблона, чтобы вывести список обзоров.

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

Чтобы вывести обзоры только определённого типа, добавьте параметр tax_query в WP_Query:

$args = array(
    'post_type' => 'plugin_reviews',
    'tax_query' => array(
        array(
            'taxonomy' => 'review_type',
            'field'    => 'slug',
            'terms'    => 'videoobzor',
        ),
    ),
);
$query = new WP_Query($args);

Советы по работе с собственными типами записей

1. Планируйте структуру данных заранее. Продумайте, какие типы записей и таксономии нужны именно вашему проекту.

2. Используйте поддержку REST API. Это позволит легко интегрировать CPT с Gutenberg и внешними сервисами.

3. Добавляйте мета-поля. Для расширения функционала CPT используйте функции для добавления пользовательских полей. Например, с помощью add_meta_box.

4. Оптимизируйте запросы. При большом объёме контента используйте кэширование и грамотное построение WP_Query.

Применение CPT в WPShop.ru: примеры и рекомендации

На WPShop.ru можно найти готовые решения и плагины для расширения функционала WordPress. Например, плагин Expert Review позволяет удобно создавать и выводить отзывы, которые по сути являются кастомным типом записей с дополнительными возможностями.

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

Заключение

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

Добавь в закладки и поделись с друзьями:

⭐⭐⭐⭐⭐
Как создать простой шорткод для вывода данных в WordPress: практическое руководство
28.11.2025
Как создать автоматический импорт продуктов в WordPress из CSV файла
04.01.2026
Автоматическое отправление сообщений в Telegram из WordPress: практическое руководство с примерами кода
07.01.2026
Как удалить дубликаты в циклических записях WordPress: практическое руководство
10.01.2026
Как установить и настроить Clearfy Pro для оптимизации WordPress
12.04.2026
×

AI-плагин

WPGPT
Сам создает статьи для вашего сайта WordPress

SEO и мета-теги

Парсинг конкурентов

Изображения

Комментарии

Подробнее