Uno de los bloques más utilizados y recomendados es el de encabezado, fundamental a la hora de estructurar y aplicar jerarquía y orden a textos largos, separándolos por secciones, o capítulos, como prefieras llamarlos.
Es incluso una de las principales recomendaciones de los motores de análisis de contenido de los plugins de SEO, que promueven su uso para reforzar el posicionamiento de tus textos.
Para cumplir con toda esta responsabilidad, el bloque de encabezado del editor de bloques te permite añadir fácilmente el encabezado que necesites, desde el H1 hasta el H6.
Ahora bien, en más situaciones de las que en principio puedas pensar, sobran encabezados, y me explico…
Si atiendes a la doctrina habitual de que solo debe haber un H1 (titular principal) por publicación, y por defecto los temas WordPress aplican automáticamente la etiqueta H1 al título de tu entrada o página, ya tenemos un encabezado que igual es mejor no dejar que usen los redactores, quizás desconocedores de esta disciplina de SEO.
También, por jerarquía de contenidos, y como administrador o diseñador del sitio, puede que no quieras que se usen algunos encabezados, como los más pequeños, o cualquier otro al azar, que tengas definido para usarse únicamente con un objetivo muy concreto. Un ejemplo típico es reservar el H4 para títulos de los widgets.
Sea como fuere, hay situaciones diversas en las que podrías no querer ofrecer tal despliegue de opciones de encabezado a cualquier usuario con acceso al editor, y prefieras limitar un poco las opciones, para facilitar las elecciones de encabezado, o para salvaguardar decisiones básicas sobre SEO o diseño de tu web.
Si te encuentras en esta situación, desde hace unas cuantas versiones, todos los bloques con algún desplegable disponen del atributo levelOptions
.
Gracias a este atributo se puede crear funciones a la que añadir una matriz ordenada según las opciones disponibles a la que filtrar qué opciones mostrar y cuáles no.
En el caso del bloque de encabezados, la matriz correspondería el 1
al H1, el 2
al H2 y así sucesivamente.
Gracias a ello, puedes ocultar del desplegable de – en este caso – el bloque de encabezado, de aquellas opciones que no quieras que estén disponibles, sin que esto afecte a las etiquetas H existentes, solo afecta a las opciones disponibles en el desplegable.
Lo ves con un código de ejemplo…
/* Desactivar h1, h2 y h6 del bloque de encabezado */ function ayudawp_quitar_encabezados_editor_bloques( $args, $block_type ) { // Comprobamos si el usuario es administrador $is_administrator = current_user_can( 'edit_theme_options' ); // Solo procedemos si el bloque actual es el de encabezado y el usuario no es administrador if ( 'core/heading' !== $block_type || $is_administrator ) { return $args; } // Si se cumple todo lo anterior dejamos solo visibles H2, H3 y H4 $args['attributes']['levelOptions']['default'] = [ 2, 3, 4 ]; return $args; } add_filter( 'register_block_type_args', 'ayudawp_quitar_encabezados_editor_bloques', 10, 2 );
En este código, si el usuario no es administrador, solo mostraremos la matriz de levelOptions
2
, 3
y 4
, o sea H2, H4 y H4.
El resultado en el editor, si el usuario no es administrador, sería el siguiente…
Lo mejor es que, como te comentaba antes, esto no afecta a las etiquetas H introducidas en el contenido o por otro método, solo es una restricción que aplicamos a los niveles de encabezado disponibles en el bloque de encabezado.
¿Te gustó este artículo? ¡Ni te imaginas lo que te estás perdiendo en YouTube!