Blog sobre desarrollo WordPress en Español Desarrollo WordPress en Español
gutenberg

Cómo desactivar Gutenberg cuando salga WordPress 5.0

La versión 5.0 de WordPress está a la vuelta de la esquina, prevista para finales de Agosto. Como ya sabrás a esta altura de la película, vendrá con el nuevo editor Gutenberg integrado en su core.

Llevamos sabiendo que este día llegará algo más de un año, y durante todo este tiempo se ha hablado mucho de Gutenberg: si es bueno, si es malo, que si el lock-in, que si voy a perder todo lo que ya tenía, qué pasará con mi Divi/Elementor/loquesea, etc…

Lo que es probable, es que mucha gente en un inicio lo quiera quitar o desactivar, hasta que pueda probarse bien, pase un tiempo, evolucione, madure y dé sus primeros pasos, etc… y hasta que tú o tu cliente esté preparado para ello.

Aunque existen muchos plugins para ello, vamos a ver cómo podemos desactivarlo con apenas unas líneas de código.

 

Desactiva Gutenberg por completo

Aunque te parezca increíble, sólo necesitarás una línea de código para desactivar Gutenberg por completo, y volver al editor clásico de WordPress. Simplemente añade a tu functions.php o plugin de utilidades lo siguiente:

Simplemente devolvemos false al filtro gutenberg_can_edit_post_type. __return_false es una función de WordPress, que simplemente hace precisamente lo que indica, devolver un false.

 

Desactiva Gutenberg para un post type específico

¿Y qué pasa si quiero desactivar Gutenberg sólo para ciertos post types? O dicho de otro modo, ¿qué pasa si sólo quiero Gutenberg para cierto tipo de post type?

Por defecto lo tendremos disponible para las entradas y las páginas. Y también para todos aquellos Custom Post Types que cumplan en su registro los siguientes requisitos:

  • supports => array(‘editor’);
  • show_in_rest => true

 

Es decir, deben soportar el editor, y ser accesibles desde la REST API. Si no controlamos los CPTs en nuestro sitio porque han sido declarados en un plugin y/o tema el cual no debemos queremos tocar, podemos desactivar Gutenberg de la siguiente manera:

Un ejemplo parecido al anterior, aunque sólo devolveremos false si se cumple la condición de que $post_type sea igual al que queramos desactivar Gutenberg, en este ejemplo ‘product’.

Si quisiéramos desactivarlo por ejemplo en las páginas, podemos añadir una condición más en la misma función:

 

Desactiva Gutenberg para un rol específico

Otra necesidad que podemos tener, es la de desactivar el nuevo editor para un rol determinado. De este modo tus editores, colaboradores, autores, etc… seguirán viendo el editor clásico.

En este ejemplo, desactivamos Gutenberg para todos los roles por debajo de administrador:

 

Conclusiones

Jugando un poco con los roles y con los tipos de contenido, podemos desactivar Gutenberg a nuestro antojo con unas pocas líneas de código, sin necesidad de instalar plugins adicionales.

Puede que también te interese

Creando un plugin para WordPress parte 3: Escribiendo el plugin
Creando un plugin para WordPress parte 3: Escribiendo el plugin
1. Creando un plugin para WordPress: Planificación y planteamiento 2. Creando un plugin para WordPress: Estilo del Código 3. Creando un plugin para WordPress: Escribiendo…
Mejora la puntuación de Google PageSpeed Insights: Reducir el tiempo de respuesta del servidor
Mejora la puntuación de Google PageSpeed Insights: Reducir el tiempo de respuesta del servidor
1. Optimizar imágenes 2. Minificar CSS y JS 3. Especificar caché de navegador 4. Habilita la compresión 5. Reducir el tiempo de respuesta del servidor…
Deshabilitar página de categorías o etiquetas
Deshabilitar página de categorías o etiquetas
Como sabrás, WordPress por defecto tiene dos taxonomías para las entradas o posts de tu sitio: categorías y etiquetas. Estas taxonomías te permiten categorizar o…
Insertar un anuncio entre el contenido de un post
Insertar un anuncio entre el contenido de un post
Seguro que has visto en más de una ocasión páginas web que insertan anuncios o contenidos relacionados entre medias del propio contenido. De hecho yo lo tuve…