C'è una is_gutenberg_page()
funzione che sarà presente quando attivi Gutenberg, quindi puoi controllare:
if( function_exists( 'is_gutenberg_page' ) )
Questo verificherà solo se Gutenberg è attivato e la funzione stessa verificherà se l'editor corrente è impostato per caricare Gutenberg. Quindi il CODICE diventa:
if( function_exists( 'is_gutenberg_page' ) && is_gutenberg_page() )
Naturalmente, questo deve essere verificato dalle pagine del pannello di amministrazione e quando i dati interni sono pronti per chiamare la funzione. Quindi dovrai fare il controllo usando un gancio adatto . Ad esempio, se lo controlli usando l' init
hook, non funzionerà .
Gutenberg stesso controlla la is_gutenberg_page()
funzione dalla gutenberg_init()
funzione, che viene caricata tramite replace_editor
hook. Quindi replace_editor
hook è un buon posto per fare questo controllo.
Tuttavia, suggerirei l'uso di admin_enqueue_scripts
per effettuare il controllo, poiché:
admin_enqueue_scripts
è il primo gancio che viene sparato dopo lo stesso is_gutenberg_page()
controllo che Gutenberg si fa da solo.
A causa della natura di Gutenberg, è più probabile che carichi script / stili esterni per il tuo scopo.
admin_enqueue_scripts
è un hook ben noto ed è attivato solo dalle pagine del pannello di amministrazione. Quindi il front-end non ne è influenzato.
CODICE di esempio (testato):
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.
}
}