El nuevo editor llamado Gutenberg está aquí como complemento en 4.9, y como funcionalidad central llamada Block Editor, en 5.0. Con respecto a esto, a menudo es necesario determinar mediante programación qué editor se usa para editar publicaciones o páginas en la consola del sitio. ¿Cómo hacerlo?
Actualización: hay varias respuestas desactualizadas a preguntas similares:
gutenberg_post_has_blocks()
- esta función solo existe en el complemento Gutenberg, y no en 5.0 Coreis_gutenberg_page()
- lo mismothe_gutenberg_project()
- lo mismohas_blocks()
- no funciona (devuelve falso) cuando Classic Editor está activado y su opción "Editor predeterminado para todos los usuarios" = "Editor de bloque"- la respuesta simplemente produce un error fatal
Call to undefined function get_current_screen()
Por lo tanto, antes de comentar esta pregunta y respuesta, haga un esfuerzo para verificar qué propone. Compruébelo ahora, con 4.9 y la versión actual de WordPress, y todas las combinaciones posibles de Classic Editor y Gutenberg / Block Editor. Estaré encantado de analizar la solución probada, no los enlaces a algo.
block-editor
Diseño KAGG
fuente
fuente
the_gutenberg_project()
función existe solo en el complemento Gutenberg, pero no en el WP 5.0 Core.Respuestas:
Hay varias variantes:
Todas las variantes mencionadas pueden procesarse mediante el siguiente código:
La función devuelve verdadero si el editor de bloques está activo por cualquier medio, y falso, en el caso si el editor clásico está aquí. Esta función solo debe usarse después de
plugins_loaded
que se active la acción.PS Debido al lanzamiento de la versión 1.2 del complemento Classic Editor, el código se actualiza, ya que las
classic-editor-replace
opciones ahora toman valores noreplace
yno-replace
, peroclassic
yblock
.fuente
Puedes usar
que solo se dispara al editar contenido con Gutenberg.
fuente
enqueue_block_assets
?has_action( 'enqueue_block_assets' )
hace lo mismohas_filter( 'replace_editor'
en mi código. Devuelve verdadero si Classic Editor está activo y establece Classic Editor como predeterminado. Es mejor verificar lo que propone antes de escribir.