В целом у вас не должно возникнуть больших трудностей при адаптации обычных контентных страниц сайта под Gutenberg. Однако всё меняется, если мы говорим о комплексных шаблонах страниц.
Но вполне возможно, что вам и не надо отключать Gutenberg, а можно добавить каких-то полей настроек в сайдбар, у меня об этом есть даже целый видеокурс.
Про плагин Classic Editor я думаю вы уже слышали, также я упоминал его в посту, когда рассказывал про способы отключения Gutenberg.
Там же я упоминал и про хук use_block_editor_for_post_type
, и его же мы и будем использовать сегодня.
В хуке есть два параметра:
$can_edit
(логический) – ну как бы использовать или нет Gutenberg,$post_type
(строка) – название типа записи.Может показать, что параметров недостаточно для того, чтобы законнектиться к текущему используемому шаблону страницы, но нет, у нас же с вами ещё есть доступ к $_GET[ 'post' ]
, в которой хранится ID текущего редактируемого поста.
Ниже готовый код, если не знаете, куда вставлять, читайте это.
add_filter( 'use_block_editor_for_post_type', 'truemisha_no_gutenberg_for_page_template', 25 ); function truemisha_no_gutenberg_for_page_template( $can_edit ) { if( empty( $_GET[ 'post' ] ) ) { return $can_edit; } // перечисляем шаблоны страниц, которые должны редактироваться без гутенберг $excluded_templates = array( 'template-fullwidth.php', 'template-contact.php' ); // определяем шаблон текущей редактируемой страницы $template = get_page_template_slug( intval( $_GET[ 'post' ] ) ); // находится ли этот шаблон в массие неразрешённых шаблонов? if( in_array( $template, $excluded_templates ) ) { $can_edit = false; } return $can_edit; }
Как в итоге это работает:
Не похоже на самое гладкое решение, но теоретически можно дописать какой-то JavaScript, который будет перезагружать и сохранять страницу за вас при выборе соответствующего шаблона из списка.
Чтобы оставить комментарий, пожалуйста, зарегистрируйтесь или войдите.