Cómo controlar los patrones de Bloques de WordPress 5.5

Una de las novedades que nos ha traído la versión 5.5 de WordPress son los patrones de bloques (block patterns) que, a diferencia de los bloques reutilizables, son plantillas precargadas que podemos poner a disposición de los usuarios para facilitarles el trabajo y la maquetación de los distintos elementos de su web.

WordPress Block Patterns

Por defecto, WordPress 5.5 trae en total díez diferentes patrones divididos en cinco categorías. Estos patrones son:

  • Dos botones.
  • Tres botones.
  • Dos columnas de texto.
  • Dos columnas de texto con imágenes.
  • Tres columnas de texto con botones.
  • Dos imágenes contiguas.
  • Cabecera grande (Hero) con un encabezado.
  • Cabecera grande (Hero) con un encabezado y un botón.
  • Encabezado y párrafo.
  • Cita.

Y las correspondientes categorías que engloban a estos patrones son;

  • Botones.
  • Columnas.
  • Galería.
  • Cabeceras.
  • Texto.

Lo interesante es que puedes crear tus propios patrones, pero no voy ahora a entrar en esto, si quieres saber cómo hacerlo, pasate por el post que ha publicado Nahuai Badiola en Código Genesis o Fernando Tellado en Ayuda WordPress lo cierto es que es muy sencillo crear tu propio patrón.

Restringiendo los patrones de bloques por defecto

Y ahora llega el momento de «hacerse un Tellado» , es decir, vamos a ver cómo «eliminar» de la vista del usuario uno o todos de estos patrones, asi como sus categorías, ya que, en algún caso, puede interesarnos no «marear» al usuario con tantas opciones que podrían hacer que la cabeza le estallará y, lo más importante para tí, que estuviera llamándote porque ha roto algo.

Para ello, podemos hacerlo mediante una función personalizada que insertamos en el archivo functions.php del tema hijo activo o en nuestro plugin de funciones personalizadas, yo te recomiendo esta segunda opción, el siguiente código:

<?php
// Dar de baja los patrones de bloques por defecto de WordPress 5.5

add_action( 'init', 'cmdh_unregister_block_patterns' );
function cmdh_unregister_block_patterns(){
unregister_block_pattern( 'core/two-buttons'); // Oculta el patrón «Dos botones»
unregister_block_pattern( 'core/three-buttons' ); // Oculta el patrón «Tres botones»
unregister_block_pattern( 'core/text-two-columns'); // Oculta el patrón «Dos columnas de texto»
unregister_block_pattern( 'core/text-two-columns-with-images' ); // Oculta el patrón «Dos columnas de texto con imágenes»
unregister_block_pattern( 'core/text-three-columns-buttons' ); // Oculta el patrón «Tres columnas de texto con botones»
unregister_block_pattern( 'core/two-images' ); // Oculta el patrón «Dos imágenes contiguas»
unregister_block_pattern( 'core/large-header' ); // Oculta el patrón «Cabecera grande con un encabezado»
unregister_block_pattern( 'core/large-header-button' ); // Oculta el patrón «Cabecera grande con un encabezado y un botón»
unregister_block_pattern( 'core/heading-paragraph' ); // Oculta el patrón «Encabezado y párrafo»
unregister_block_pattern( 'core/quote' ); // Oculta el patrón «Cita»
}
?>

Restringiendo los patrones de bloques por defecto (modo elegante)

Mediante la función unregister_block_pattern() podemos ir eliminando uno a uno los diez patrones del core, y adecuarlo a nuestras necesidades. Pero lo cierto es que una vez que la vi no me resultaba «elegante».

Así que, y con la inestimable ayuda de David Perálvarez de SilicodeValley la pusimos de largo para que, además de funcionar, siguiera unos estándares de programación más óptimos, quedándonos de la siguiente forma.

<?php
// Dar de baja los patrones de bloques por defecto de WordPress 5.5

add_action( 'init', 'cmdh_unregister_block_patterns' );
function cmdh_unregister_block_patterns(){
	$block_patterns = array (
		'core/two-buttons',						// Patrón «Dos botones»
		'core/three-buttons',					// Patrón «Tres botones»
		'core/text-two-columns',				// Patrón «Dos columnas de texto»
		'core/text-two-columns-with-images',	// Patrón «Dos columnas de texto con imágenes»
		'core/text-three-columns-buttons',		// Patrón «Tres columnas de texto con botones»
		'core/two-images',						// Patrón «Dos imágenes contiguas»
		'core/large-header',					// Patrón «Cabecera grande con un encabezado»
		'core/large-header-button',				// Patrón «Cabecera grande con un encabezado y un botón»
		'core/heading-paragraph',				// Patrón «Encabezado y párrafo»
		'core/quote'							// Patrón «Cita»
		);
foreach ($block_patterns as $bp ):
    unregister_block_pattern( $bp );
endforeach;
}
?>

Restringiendo las categorías de patrones de bloques por defecto

Como comenté al principio de este tutorial, Estos patrones se clasifican en categorías. Y lo mismo se puede hacer con estas, es decir, ocultarlas, pero solo el título de la misma, no los patrones englobados en ella.

Para poder hacerlo, basta con añadir la siguiente función al archivo functions.php de tu tema hijo activo o mejor a tu plugin de funciones personalizadas.

<?php
// Dar de baja las categorías de patrones de bloques por defecto de WordPress 5.5

add_action( 'init', 'cmdh_unregister_block_patterns_categories' );
function cmdh_unregister_block_patterns_categories(){
	$block_patterns_categories = array(
		'buttons',	// Categoria «Botones» de los patrones de bloques
		'columns',	// Categoria «Columnas» de los patrones de bloques
		'gallery',	// Categoria «Galeria» de los patrones de bloques
		'header',	// Categoria «Cabeceras» de los patrones de bloques
		'text'		// Categoria «Texto» de los patrones de bloques
	);
foreach ($block_patterns_categories as $bpc ):
	unregister_block_pattern_category ( $bpc );
endforeach;
}
?>

Nada más, solo invitarte a que me dejes tus impresiones y / o dudas en el formulario de contacto y que me propongas nuevos temas que te gustaría que tratara. Estaré encantado de contestarte por email y escribir en este blog.

Ficha Autor

CARLOS M DÍAZ

Consultor de marketing online experto en auditorias e implementación de medición con Google

Contacta conmigo Servicios

También te puede interesar