Pulsa ESC para cerrar

Curso WordpressCurso Wordpress

Ocultar o desactivar los bloques que no usas en el editor de WordPress

Al abrir el insertador de bloques aparecen decenas de opciones: Verso, Cita destacada, Nube de etiquetas, Calendario, RSS, incrustaciones de servicios que quizá ni conoces. Para quien escribe a diario es ruido; para alguien nuevo en el equipo, una fuente de confusión («¿uso Cita o Cita destacada?»).

Puedes dejar solo los que de verdad usas.

Opción 1: ocultarlos solo para ti (sin código)

  1. En el editor, abre el menú de tres puntos de arriba a la derecha → Preferencias.
  2. Ve a la sección Bloques.
  3. Desmarca los bloques o categorías completas que no quieras ver.

El cambio es solo para tu usuario y se guarda en tu perfil. Los demás siguen viendo todos los bloques.

Opción 2: quitarlos para todo el equipo

Para que nadie los vea, se pueden desregistrar con JavaScript al cargar el editor. Es la forma recomendada: es fácil de ajustar y no afecta al contenido publicado.

Crea la carpeta wp-content/mu-plugins/cwp-bloques/ y dentro el archivo quitar.js:

wp.domReady( function () {
	// Bloques que no queremos en el insertador.
	var bloques = [
		'core/verse',
		'core/pullquote',
		'core/tag-cloud',
		'core/calendar',
		'core/rss',
		'core/archives',
		'core/nextpage',
	];
	bloques.forEach( function ( nombre ) {
		if ( wp.blocks.getBlockType( nombre ) ) {
			wp.blocks.unregisterBlockType( nombre );
		}
	} );

	// Incrustaciones: dejar solo YouTube, Vimeo y Spotify.
	var permitidas = [ 'youtube', 'vimeo', 'spotify' ];
	wp.blocks.getBlockVariations( 'core/embed' ).forEach( function ( variacion ) {
		if ( permitidas.indexOf( variacion.name ) === -1 ) {
			wp.blocks.unregisterBlockVariation( 'core/embed', variacion.name );
		}
	} );
} );

Y el mu-plugin que lo carga, wp-content/mu-plugins/cwp-bloques.php:

<?php
/**
 * Plugin Name: Bloques del editor (Curso WordPress)
 */

add_action( 'enqueue_block_editor_assets', function () {
	wp_enqueue_script(
		'cwp-quitar-bloques',
		content_url( 'mu-plugins/cwp-bloques/quitar.js' ),
		array( 'wp-blocks', 'wp-dom-ready', 'wp-edit-post' ),
		'1.0',
		true
	);
} );

Para saber el nombre interno de un bloque, insértalo en una entrada, cambia al Editor de código (Ctrl + Shift + Alt + M) y mira el comentario: <!-- wp:pullquote --> corresponde a core/pullquote.

Si un día necesitas un bloque que quitaste, borra su línea del archivo y recarga el editor. No hay que reinstalar nada.

Opción 3: lista de bloques permitidos (más estricta)

Si prefieres el camino inverso, decir qué bloques sí se pueden usar, el filtro allowed_block_types_all lo hace desde PHP. Útil, por ejemplo, para un tipo de contenido con un formato fijo:

<?php
add_filter( 'allowed_block_types_all', function ( $permitidos, $contexto ) {
	if ( isset( $contexto->post ) && 'cwp_recurso' === $contexto->post->post_type ) {
		return array( 'core/paragraph', 'core/heading', 'core/list', 'core/list-item', 'core/image', 'core/code' );
	}
	return $permitidos;
}, 10, 2 );

Con una lista de permitidos, cualquier bloque que no esté en la lista desaparece, incluidos los de plugins que instales después. No olvides incluir los bloques «hijos» que algunos necesitan (por ejemplo, core/list-item para que funcione core/list).

¿Qué pasa con el contenido que ya los usa?

En el sitio publicado, nada: el contenido se sigue mostrando igual, porque el HTML ya está guardado.

En el editor, al abrir una entrada antigua que usa un bloque quitado, verás un aviso de que ese bloque no está disponible. Puedes convertirlo en HTML personalizado o volver a habilitar el bloque. Por eso, antes de quitar un bloque, busca si se usa:

wp post list --post_type=any --s="wp:pullquote" --fields=ID,post_title

¿Qué bloques quitaste de tu editor? Comparte tu lista en el foro: ayuda a otras personas a decidir.