TechBlogSD - Все для WordPress и WEB разработки
WEB и WordPress инструкции, новости, обзоры тем и плагинов

WordPress – Как подключить редактор Gutenberg к кастомному типу записей

2 786

Решил написать короткую заметку что бы после появления нового редактора Gutenberg администраторы сайтов (в том числе и я) могли легко использовать его функционал в своих кастомных типах записей.

Gutenberg – новый редактор контента в WordPress. Но он не применяется автоматически к пользовательским типам записей, они все еще используют классический редактор. Это может быть автоматически применено в будущем, но сейчас требуется небольшая корректировка кода.

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

Ручное создание и назначение Gutenberg при создании пользовательского типа записей

Данный способ предусматривает что кастомный тип Вы создаете самостоятельно без использования сторонних плагинов (например Custom Post Type UI). Создайте кастомный тип в файле function.php Вашей темы например так, и увидите как гутенберг редактор полюбит Ваш тип записей:

function create_post_types() { $labels = array( 'name' => 'aktsii', ); $args = array( 'labels' => $labels, 'public' => true, 'has_archive' => true, 'show_in_rest' => true, // Important ! 'supports' => array('title', 'thumbnail', 'editor'), // Ne pas oublier editor 'menu_position' => 5, 'menu_icon' => 'dashicons-awards', ); register_post_type( 'aktsii', $args ); } add_action('init', 'create_post_types' );

Создание кастомного типа записей с поддержкой Gutenberg, при помощи Custom Post Type UI

Создайте свой кастомный тип записей при помощи плагина Custom Post Type UI как обычно, но обязательно включите опцию "Show in REST API"

Show in REST API

На всякий случай вот код экспорта кастомного тип азаписей "aktsii" который необходимо импортировать на странице импорта все в том же плагине Custom Post Type UI.

{"aktsii":{"name":"aktsii","label":"u0410u043au0446u0438u0438","singular_label":"u0410u043au0446u0438u0438","description":"","public":"true","publicly_queryable":"true","show_ui":"true","show_in_nav_menus":"true","show_in_rest":"true","rest_base":"","rest_controller_class":"","has_archive":"true","has_archive_string":"","exclude_from_search":"false","capability_type":"post","hierarchical":"false","rewrite":"true","rewrite_slug":"","rewrite_withfront":"true","query_var":"true","query_var_slug":"","menu_position":"","show_in_menu":"true","show_in_menu_string":"","menu_icon":"dashicons-megaphone","supports":["title","editor","thumbnail","excerpt","trackbacks","custom-fields","comments","revisions","author","page-attributes","post-formats"],"taxonomies":[],"labels":{"menu_name":"u0410u043au0446u0438u0438","all_items":"u0412u0441u0435 u0430u043au0446u0438u0438","add_new":"u0414u043eu0431u0430u0432u0438u0442u044c u0410u043au0446u0438u044e","add_new_item":"u0414u043eu0431u0430u0432u0438u0442u044c u0410u043au0446u0438u044e","edit_item":"u0420u0435u0434u0430u043au0442u0438u0440u043eu0432u0430u0442u044c","new_item":"u041du043eu0432u0430u044f u0430u043au0446u0438u044f","view_item":"u041fu0440u043eu0441u043cu043eu0442u0440u0435u0442u044c u0410u043au0446u0438u044e","view_items":"u041fu0440u043eu0441u043cu043eu0442u0440u0435u0442u044c u0410u043au0446u0438u044e","search_items":"u041du0430u0439u0442u0438 u043eu0442u0437u044bu0432 u0410u043au0446u0438u044e","not_found":"u041du0435u0442 u0410u043au0446u0438u0439","not_found_in_trash":"","parent_item_colon":"","featured_image":"","set_featured_image":"","remove_featured_image":"","use_featured_image":"","archives":"","insert_into_item":"","uploaded_to_this_item":"","filter_items_list":"","items_list_navigation":"","items_list":"","attributes":"","name_admin_bar":""},"custom_supports":""}}

Как отключить редактор Gutenberg для определенного кастомного типа записей

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

function mh_disable_gutenberg($is_enabled, $post_type) { if ($post_type === 'aktsii') return false; return $is_enabled; } add_filter('gutenberg_can_edit_post_type', 'mh_disable_gutenberg', 10, 2);

ПС. Вот и все, я описал основные моменты которые помогут Вам подключать новый редактор.

Источник записи:

Этот веб-сайт использует файлы cookie для улучшения вашего опыта. Мы предполагаем, что вы согласны с этим, но вы можете отказаться, если хотите. Принимаю Подробнее