Cómo quitar bloques por defecto del editor Gutenberg

Están muy bien los bloques del nuevo editor de WordPress pero ¿hacen falta todo esos bloques? ¿necesitas insertar tantos bloques en tu labor diaria o podrías deshacerte de algunos para así localizar más fácil los demás?

Vamos a ver cómo hacerlo.

Cómo decidir qué bloques mostrar en el editor y cuáles no

Hay un modo sencillo de decidir qué bloques concretos aparecerán a la hora de insertar bloques. Para ello nos ayudaremos de ganchos en el archivo functions.php del tema activo o en tu plugin personalizado.

En concreto usaré el gancho allowed_block_types, que permite especificar qué bloques usar en nuestra web, y además mediante el parámetro $post podemos usar distintos bloques en distintos tipos de contenido, mucho más chulo.

La parte sencilla es crear una función que decidir qué bloques quiero que estén disponibles, en general, da igual el tipo de contenido. Sería así:

//Decidir qué bloques se verán en el editor
add_filter( 'allowed_block_types', 'ayudawp_allowed_block_types' );
 
function ayudawp_allowed_block_types( $allowed_blocks ) {
 
	return array(
		'core/image',
		'core/paragraph',
		'core/heading',
		'core/list'
	);
 
}

Una vez guarde los cambios mi lista de bloques se habrá reducido a las contenidas en el array de la función, en el ejemplo:

  • Imagen
  • Párrafo
  • Encabezado
  • Lista

Como habrás comprobado no quitamos bloques sino todo lo contrario, decidimos qué bloques estarán disponibles.

No tengo ni que decir lo práctico que es esto de cara a tus clientes, para que tengan disponibles solamente los bloques que tienen que utilizar. Imagina la importancia de este control en un entorno editorial.

Cómo quitar bloques según el tipo de contenido

Otra posibilidad de uso del código anterior es determinar que aparezcan distintos bloques según el tipo de contenido, el CPT.

De nuevo, se haría así:

//Decidir qué bloques se verán en el editor
add_filter( 'allowed_block_types', 'ayudawp_allowed_block_types', 10, 2 );
 
functionayudawp_allowed_block_types( $allowed_blocks, $post ) {
 
	$allowed_blocks = array(
		'core/image',
		'core/paragraph',
		'core/heading',
		'core/list'
	);
 
	if( $post->post_type === 'page' ) {
		$allowed_blocks[] = 'core/shortcode';
	}
 
	return $allowed_blocks;
 
}

La primera parte del array define los bloques disponibles para cualquier tipo de contenido (CPT) y, más abajo, en el condicional, definimos mediante el parámetro $post que, además, en las páginas, habrá otro bloque disponible, en este ejemplo el de shortcode.

Solo tienes que saber los slugs de cada bloque, para tú añadir los que necesites, y son todos estos:

Lista de slugs de todos los bloques

La lista completa de los slugs de todos los bloques, para usarlos en esta función es esta…

Bloques comunes

  • core/paragraph
  • core/image
  • core/heading
  • (Deprecated) core/subhead — Subheading
  • core/gallery
  • core/list
  • core/quote
  • core/audio
  • core/cover-image
  • core/file
  • core/video

Bloques de formato

  • core/table
  • core/verse
  • core/code
  • core/freeform — Clásico
  • core/html — HTML personalizado
  • core/preformatted
  • core/pullquote

Elementos de diseño

  • core/button
  • core/text-columns — Columans
  • core/media-text — Medios y texto
  • core/more
  • core/nextpage — Salto de página
  • core/separator
  • core/spacer

Bloques de widgets

  • core/shortcode
  • core/archives
  • core/categories
  • core/latest-comments
  • core/latest-posts

Bloques de incrustados

¿Verdad que son demasiados?

  • core/embed
  • core-embed/twitter
  • core-embed/youtube
  • core-embed/facebook
  • core-embed/instagram
  • core-embed/wordpress
  • core-embed/soundcloud
  • core-embed/spotify
  • core-embed/flickr
  • core-embed/vimeo
  • core-embed/animoto
  • core-embed/cloudup
  • core-embed/collegehumor
  • core-embed/dailymotion
  • core-embed/funnyordie
  • core-embed/hulu
  • core-embed/imgur
  • core-embed/issuu
  • core-embed/kickstarter
  • core-embed/meetup-com
  • core-embed/mixcloud
  • core-embed/photobucket
  • core-embed/polldaddy
  • core-embed/reddit
  • core-embed/reverbnation
  • core-embed/screencast
  • core-embed/scribd
  • core-embed/slideshare
  • core-embed/smugmug
  • core-embed/speaker
  • core-embed/ted
  • core-embed/tumblr
  • core-embed/videopress
  • core-embed/wordpress-tv

Y ya está, ahora tienes el poder y la libertad de decidir qué bloques necesitas y cuáles no, con una simple función.

¡Eh espera! ¿No se puede hacer con plugins?

Cierto, se me olvidaba, pero pensaba que ya habías hecho mi curso del editor de bloques Gutenberg de WordPress, donde hablo algo de ello.

El mejor plugin que puedes usar para decidir qué bloques mostrar es Disable Gutenberg Blocks. Una vez instalado ofrece una página de ajustes (Ajustes > Disable Blocks) en la que decides qué bloques se mostrarán y cuáles no.

Y ya está, que lo disfrutes, decidiendo con libertad qué necesitas y qué no.

VALORA Y COMPARTE ESTE ARTÍCULO PARA MEJORAR LA CALIDAD DEL BLOG…
(3 votos, promedio: 5)

¿Te gustó este artículo? ¡Ni te imaginas lo que te estás perdiendo en YouTube!

3 comentarios en “Cómo quitar bloques por defecto del editor Gutenberg”

  1. ¿Por un casual existe alguna manera de ampliar las funcionalidades de los bloques por defecto?

    Me explico. He visto que el bloque de citas tiene dos estilos a elegir, pero he pensado si se podria añadir mas estilos. Y lo mismo con otros bloques, como por ejemplo el de imagenes, que no tiene estilos, pero estaria bien tener la posibilidad de poder añadirle algunos extra para poder tener mas opciones a la hora de diseñar una entrada.

    Por mas que busco, y puede ser porque no he buscado bien, no encuentro por ningun lado algo que me aclare esta cuestion, y seria una gran opcion a tener en cuenta poder ampliar los bloques de serie en vez de tener que crear bloques nuevos para cosas que se podrian solucionar asi.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

 

Ir arriba Ir al contenido