Існує is_gutenberg_page()
функція, яка буде присутня при активації Гутенберга, тому ви можете перевірити:
if( function_exists( 'is_gutenberg_page' ) )
Це перевірятиметься, чи активовано Гутенберг, а сама функція перевірятиме, чи встановлений поточний редактор для завантаження Гутенберга. Таким чином КОД стає:
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.
}
}