Есть is_gutenberg_page()
функция, которая будет присутствовать при активации Gutenberg, поэтому вы можете проверить:
if( function_exists( 'is_gutenberg_page' ) )
Это будет только проверять, активирован ли Gutenberg, а сама функция проверяет, установлен ли текущий редактор для загрузки Gutenberg. Итак, КОД становится:
if( function_exists( 'is_gutenberg_page' ) && is_gutenberg_page() )
Конечно, это нужно проверить на страницах панели администратора и когда внутренние данные готовы к вызову функции. Таким образом, вы должны будете сделать проверку, используя подходящий крючок . Например, если вы проверите это с помощью init
хука, он не будет работать .
Гутенберг сам проверяет is_gutenberg_page()
функцию из gutenberg_init()
функции, которая загружается с помощью replace_editor
хука. Так что replace_editor
крюк - хорошее место для этой проверки.
Тем не менее, я бы предложил использовать admin_enqueue_scripts
для проверки, так как:
admin_enqueue_scripts
это первый крюк, который срабатывает после той же is_gutenberg_page()
проверки, которую делает Гутенберг.
Из-за природы Гутенберга вы, скорее всего, будете загружать внешние сценарии / стили для своих целей.
admin_enqueue_scripts
это хорошо известный хук, и он запускается только со страниц админ-панели. Таким образом, передний конец не затронут этим.
Пример кода (проверено):
add_action( 'admin_enqueue_scripts', 'wpse_gutenberg_editor_test' );
function wpse_gutenberg_editor_test() {
if( function_exists( 'is_gutenberg_page' ) && is_gutenberg_page() ) {
// your gutenberg editor related CODE here
}
else {
// this is not gutenberg.
// this may not even be any editor, you need to check the screen.
}
}