April 3, 2019

Categoría personalizada de bloques para Gutenberg

El nuevo editor de bloques de WordPress surgido con el proyecto revolucionario llamado «Gutenberg» permite añadir en el momento de edición de contenido un montón de bloques que se encuentra todos ellos agrupados por categorias, que de modo nativo son:

  • Bloques comunes
  • Formatos
  • Elementos de diseño
  • Widgets
  • Incrustados
  • Elementos integrados

Esto facilita encontrar lo que necesitas tal y como se muestra en la siguiente imagen:

categoria personalizada bloques

Pero como siempre, todo en WordPress se puede ampliar y modificar, por lo que es posible, y además muy fácil poder añadir tus propias categorías de bloques y usarlas a la hora de registrar un nuevo bloque.

El código que puedes usar es el siguiente:

/**
 * Add new custom categories for blocks
*/
add_filter( 'block_categories', function( $categories, $post ) {

	$custom_category = [
		'slug'  => 'sumapress',
		'title' => 'SumaPress',
	];

	if ( false === array_search( $custom_category['slug'], array_column( $categories, 'slug' ) ) ) {
		return array_merge( $categories, [ $custom_category ] );
	}

	return $categories;

}, 10, 2 );

El código lo que hace es hacer uso de un filtro habilitado por WordPress block_categories en el que tienes a tu disposición un array con todas las categorías registradas, y el cual puedes ampliar tal y como se hace con el array_merge y que en definitiva lo que hace es unir el array de categorías que te brinda WordPress con el filtro, y tu nuevo array con una nueva categoría en su interior.

Es importante que la nueva categoría la añadas tal y como aparece como un array, el cual requiere un «slug» como identificador y un «title» como texto visible.

Por otra parte, mencionar que en el código presentado se hace uso de un condicional que comprueba si la nueva categoría no se ha añadido previamente, algo que puede ocurrir si tienes varios plugins con bloques que suelas añadir a una misma categoría; como la del ejemplo en el caso de «SumaPress» y los plugins subidos al repositorio oficial.

Crear bloques para WordPress igual no es tan fácil… 🙂 pero sin duda que crear nuevas categorías es muy sencillo como has podido comprobar en este artículo.

Si quieres ver más funciones de ayuda para trabajar con «Gutenberg» no te pierdas la lección: Funciones de ayuda para trabajar con bloques

Si te ha gustado... ¡Compártelo!