• Ir a navegación principal
  • Ir al contenido principal
  • Ir a la barra lateral primaria

DecodeCMS

Tu WordPress a otro Nivel ...

  • Acerca de
  • Contacto
  • Inicio
  • Tutoriales
    • Themes
    • Plugins
    • Core
    • Recursos
  • Cursos
Inicio / Tutoriales / Core / Deshabilitar Gutenberg en WordPress selectivamente
Anuncio banner webservi

Deshabilitar Gutenberg en WordPress selectivamente

Deshabilitar Gutenberg en WordPress selectivamente

[ 19 diciembre 2018 ] [ Autor: Jhon Marreros Guzmán ][ Core - Intermedio] [ ]

editor

¿Me ayudas a llegar a más gente?

Twittear Compartir LinkedIn WhatsApp

Si quieres mantener aún el editor clásico, para algunas entradas, para algunas categorías o para algunos custom post types, puedes deshabilitar el editor de Gutenberg selectivamente en WordPress a través de código.
 

Generalidades

A partir de WordPress 5.0, Gutenberg viene habilitado por defecto, puedes usar algún plugin para deshabilitar Gutenberg, hay muchos de ellos con varias opciones, por ejemplo: Disable Gutenberg, sin embargo en este artículo veremos cómo deshabilitar Gutenberg directamente a través de código.

El código que veremos a continuación puedes agregarlo en el archivo functions.php de tu child-theme

 

Deshabilitar totalmente Gutenberg

Técnicamente podrías sólo agregar alguno de los siguientes hooks, uno deshabilita a nivel de entradas individuales y otro deshabilita a nivel de custom post type.


// deshabilitar para posts individuales
add_filter('use_block_editor_for_post', '__return_false', 10);

// deshabilitar a nivel de custom post type
add_filter('use_block_editor_for_post_type', '__return_false', 10);

 

Habilitar Gutenberg para entradas nuevas

Es posible que quieras conservar las entradas anteriores de tu sitio con el editor clásico y sólo las nuevas entradas que se creen se hagan con el nuevo editor, en esta caso nos basaremos en el hook use_block_editor_for_post, tal como se muestra en el siguiente código


add_filter('use_block_editor_for_post', '__return_false', 5);

function dcms_enable_gutenberg_select_post($can_edit, $post) {
	
	if (empty($post->ID)) return $can_edit;
	
	if ( $post->ID > 123) return true;

	return $can_edit;
}

add_filter('use_block_editor_for_post', 'dcms_enable_gutenberg_select_post', 10, 2);

En el código anterior:

  • Primero deshabilitamos el editor para todas las entradas, sin embargo consideramos una prioridad de 5
  • Agregamos el hook use_block_editor_for_post con una prioridad mayor
  • Dentro de la función habilitamos el editor sólo a partir de determinadas entradas, en el ejemplo a partir del ID > 123, retornando true
  • La variable de can_edit es devuelta en caso el usuario tenga permisos para editar o no

 

Habilitar Gutenberg para una categoría específica

En este caso, es posible que sólo quieras habilitar Gutenberg para una o más categorías específicas, nuevamente usaremos una estructura parecida a la anterior usando el hook use_block_editor_for_post, tal como se muestra en el siguiente código


add_filter('use_block_editor_for_post', '__return_false', 5);

function dcms_enable_gutenberg_select_category($can_edit, $post) {
	
	if (empty($post->ID)) return $can_edit;
	
	if (has_category(2)) return true;
	
	return $can_edit;
}

add_filter('use_block_editor_for_post', 'dcms_enable_gutenberg_select_category', 10, 2);

En el código anterior:

  • Primero deshabilitamos el editor para todas las entradas, considerando una prioridad baja
  • Agregamos el hook use_block_editor_for_post con una prioridad mayor
  • En la función habilitamos el editor para la categoría 2, usamos la función has_category, y retornamos true
  • La variable de can_edit es devuelta en caso el usuario tenga permisos para editar o no

 

Habilitar Gutenberg sólo para algunos CPT

En este caso usaremos el hook use_block_editor_for_post_type, lo usaremos para habilitar Gutenberg sólo en determinados Custom Post Types, tal como se muestra en el siguiente código.


add_filter('use_block_editor_for_post_type', '__return_false', 5);

function dcms_enable_gutenberg_cpt($is_enabled, $post_type) {
	
	if ($post_type === 'recetas_post_type') return true; 
	
	return $is_enabled;

}

add_filter('use_block_editor_for_post_type', 'dcms_enable_gutenberg_cpt', 10, 2);

En el código anterior:

  • Primero deshabilitamos el editor para todos los CPT, considerando una prioridad baja
  • Agregamos el hook use_block_editor_for_post_type con una prioridad mayor
  • En la función habilitamos el editor para el custom post type llamado recetas_post_type, y retornamos true
  • La variable de is_enabled es devuelta en caso el CPT este habilitado o no

 

Conclusión

Tal como hemos visto se puede deshabilitar Gutenberg usando simplemente los hooks use_block_editor_for_post y use_block_editor_for_post_type a través de código y evitar el uso de un plugin adicional. Dentro de las funciones a las que hacen referencia los hooks podemos poner condicionales para Habilitar/Deshabilitar el editor Gutenberg.

 
¿Aún con dudas?, en el siguiente video se detallan los puntos anteriores

Suscríbete a DecodeCMS:  

 

¿Me ayudas a llegar a más gente?

Twittear Compartir LinkedIn WhatsApp

Artículos Relacionados

  • Exportar / importar  la configuración del personalizador de temas en WordPressExportar / importar la configuración del personalizador de temas en WordPress
  • Personalizar página de gracias de WooCommercePersonalizar página de gracias de WooCommerce
  • Configura el tema Twenty Twenty One WordPressConfigura el tema Twenty Twenty One WordPress
  • Abrir enlaces externos en un nuevo tab automáticamenteAbrir enlaces externos en un nuevo tab automáticamente
Valora este artículo : 1 barra2 barras3 barras4 barras5 barras (2 votos, promedio: 4,50 de 5)
Cargando...

Interacciones con los lectores

Para escribir código envolver con: <pre class="language-xxx"><code> </code></pre> ,reemplaza las xxx (php, css, html)

*

* Gravatar habilitado

Barra lateral primaria

Presentación

Únete a DecodeCMS

Recibirás como regalo:

Guia práctica con video:
Los 5 posibles errores que estas cometiendo cuando trabajas con código en WordPress

Niveles

Básico Intermedio Avanzado

Etiquetas

accesibilidad css dashboard editor error funcionalidad herramientas imagen js librería mejoras optimización seguridad social

Populares

Enviar datos desde PHP a Javascript en WordPress

Personalizar el formulario de login de WordPress

Páginas en ancho completo en el tema Storefront

Instalar WordPress localmente con LocalWP

Recientes

  • Exportar / importar la configuración del personalizador de temas en WordPress
  • Personalizar página de gracias de WooCommerce
  • Configura el tema Twenty Twenty One WordPress
  • Abrir enlaces externos en un nuevo tab automáticamente
alojamiento wordpress

© logo decode pie Copyright 2021 | Todos los derechos reservados | Política de Privacidad