Новый редактор под названием Gutenberg находится здесь как плагин в 4.9 и как основная функциональность под названием Block Editor, в 5.0. Что касается этого, часто необходимо программно определить, какой редактор используется для редактирования сообщения или страницы в консоли сайта. Как это сделать?
Обновление: Есть ряд устаревших ответов на аналогичный вопрос:
gutenberg_post_has_blocks()
- эта функция существует только в плагине Gutenberg, а не в 5.0 Coreis_gutenberg_page()
- то жеthe_gutenberg_project()
- то жеhas_blocks()
- не работает (возвращает false), когда включен классический редактор и его опция «Редактор по умолчанию для всех пользователей» = «Редактор блоков»- ответ просто приводит к фатальной ошибке
Call to undefined function get_current_screen()
Поэтому, прежде чем комментировать этот вопрос и ответ, пожалуйста, сделайте работу, чтобы проверить, что вы предлагаете. Проверьте это сейчас, с 4.9 и текущей версией WordPress, и всеми возможными комбинациями Classic Editor и Gutenberg / Block Editor. Я буду рад обсудить проверенное решение, а не ссылки на что-то.
block-editor
КАГГ Дизайн
источник
источник
the_gutenberg_project()
функция существует только в плагине Gutenberg, но не в ядре WP 5.0.Ответы:
Есть несколько вариантов:
Все упомянутые варианты могут быть обработаны следующим кодом:
Функция возвращает true, если редактор блоков активен любым способом, и false - в случае, если здесь есть классический редактор. Эта функция должна использоваться только после
plugins_loaded
запуска действия.PS В связи с выпуском версии 1.2 плагина Classic Editor, код обновляется, так как
classic-editor-replace
параметры теперь принимают значения неreplace
иno-replace
, ноclassic
иblock
.источник
Ты можешь использовать
который запускается только при редактировании контента с Гутенбергом.
источник
enqueue_block_assets
?has_action( 'enqueue_block_assets' )
делает то же самое, чтоhas_filter( 'replace_editor'
в моем коде. Возвращает true, если Classic Editor активен, и устанавливает Classic Editor по умолчанию. Лучше проверить, что вы предлагаете, прежде чем писать.