Сниппеты
Назад к сниппетам

WordPress: CPT с REST API в mu-plugin

Регистрация Custom Post Type с show_in_rest в must-use плагине. Не зависит от темы, подходит для prod. По документации register_post_type().

wordpress
16 февраля 2026 г.

MU-plugin гарантирует, что CPT и REST-маршрут загружаются при любой активной теме. Источники: register_post_type(), Adding REST API support for custom content types.

Код

<?php
/**
 * Plugin Name: MU: Item CPT (REST enabled)
 */
declare(strict_types=1);

add_action('init', static function (): void {
    register_post_type('item', [
        'label'        => 'Items',
        'public'       => true,
        'show_in_rest' => true,
        'rest_base'    => 'items',
        'rest_controller_class' => WP_REST_Posts_Controller::class,
        'supports'     => ['title', 'editor'],
    ]);
}, 10);

Замечания

  • Имя файла в mu-plugins может быть любым (например, cpt-portfolio.php). Главное — заголовок Plugin Name для отображения в списке плагинов (опционально).
  • После добавления откройте «Настройки → Постоянные ссылки» и нажмите «Сохранить», если маршрут не появляется.

Подробнее: Как включить CPT в REST API WordPress: /wp/v2 отдаёт 404.

WordPress: CPT с REST API в mu-plugin | Viku-Lov Studio