¿Alguna vez has querido desactivar bloques específicos en WordPress? Ya sea para simplificar la experiencia de edición, mantener la coherencia en todo el sitio o por cualquier otro motivo, en esta guía vamos a ver cómo conseguirlo, usando tres métodos.
Vamos a ello …
Cómo desactivar bloques WordPress sin plugins ni códigos
¿Sabes que muchas veces nos liamos a buscar códigos o plugins para funcionalidades que ya tiene WordPress por defecto?
Este es uno de esos casos, pues en realidad, si solo necesitas desactivar bloques para ti, para tu usuario, no hace falta añadir nada, en las preferencias del editor de WordPress puedes decidir qué bloques mostrar y cuáles ocultar, pudiendo restablecer los bloques en cualquier momento posterior.
Todo a un par de clics…
Fácil ¿eh?
Eso sí, esto es en el caso de que solo necesites desactivar bloques para tu usuario, si quieres desactivar bloques por defecto para todos los usuarios entonces vamos a por los siguientes métodos.
Cómo desactivar bloques WordPress con plugins
Usando, por ejemplo, el plugin Block Manager tienes una interfaz al estilo de las preferencias del editor para activar y desactivar bloques, pero aplicable a todos los usuarios, y con algunas funcionalidades adicionales…
- Bloques : puedes desactivar globalmente la visualización de bloques en el insertador de bloques y el editor de bloques.
- Patrones : posibilidad de quitar patrones de bloques no deseados con solo hacer clic en un botón.
- Categorías de bloques : puedes organizar el insertador de bloques modificando la categoría de cada bloque.
- Ganchos : se pueden usar ganchos para eliminar bloques y patrones desde el archivo
functions.php. - Búsqueda y filtro : localización rápida de bloques y patrones con la función de búsqueda incluida en la barra lateral.
- Bloques incrustados : elige los bloques incrustados que realmente quieras incluir en tu sitio eliminando la gran mayoría de opciones inútiles.
Más sencillo no se puede.
Cómo desactivar bloques WordPress con código
Y llegamos a la mejor parte, la que estabas esperando, la que sé que te gusta más: cómo personalizar a tope mi WordPress con códigos totalmente ajustados a mis necesidades, sin tener que instalar plugins llenos de funcionalidades que no usaré y sin tener que conformarme con las limitaciones de WordPress por defecto 🙂
Porque, por supuesto, puedes personalizar la lista de bloques disponibles en el editor de WordPress de tu web, y encima lo puedes hacer de dos maneras, tú eliges la que te sea más fácil de aplicar en cada instalación de WordPress.
Cómo desactivar bloques WordPress especificando solo los incluidos
Si vas a querer tener activos menos bloques que los que vas a desactivar, te va a ser más rápido y sencillo definir en tu código únicamente aquellos que quieras que estén disponibles, desactivando automáticamente todos los que no esté en tu lista de incluidos.
El código sería como este:
/* Lista de bloques permitidos en el editor - En el array los permitidos - Si no aparecen en el array no estaran disponibles */
function ayudawp_bloques_permitidos( $allowed_block_types, $block_editor_context ) {
$allowed_block_types = array(
'core/heading', //encabezado
'core/image', //imagen
'core/list', //lista
'core/list-item', //elemento de lista
'core/paragraph', //párrafo
);
return $allowed_block_types;
}
add_filter( 'allowed_block_types_all', 'ayudawp_bloques_permitidos', 10, 2 );
La diferencia entre la carga de bloques por defecto y la de tu lista es abismal…
Cómo desactivar bloques WordPress especificando solo los excluidos
El otro método es justo el contrario, para aplicar cuando solo tienes que excluir unos pocos bloques y no quieres perder el tiempo con una lista enorme de bloques activos. En su lugar, lo que haremos será crear una lista de exclusión, indicando solo aquellos que queramos desactivar.
El ejemplo…
/* Lista de bloques a excluir del editor - Solo se desactivan los de la lista */
function ayudawp_lista_bloques_excluidos( $allowed_block_types, $block_editor_context ) {
// Desactivamos bloques para todos los usuarios salvo los administradores
if ( ! current_user_can( 'edit_theme_options' ) ) {
$disallowed_blocks = array(
'core/navigation', //Navegacion
'core/query', //Bucle de consulta
'core/embed', //Incrustados
);
if ( ! is_array( $allowed_block_types ) || empty( $allowed_block_types ) ) {
$registered_blocks = WP_Block_Type_Registry::get_instance()->get_all_registered();
$allowed_block_types = array_keys( $registered_blocks );
}
// Creamos el array para los bloques permitidos
$filtered_blocks = array();
// Bucle de bloques en lista de permitidos
foreach ( $allowed_block_types as $block ) {
// Se comprueba si cada bloque no esta en la lista de excluidos
if ( ! in_array( $block, $disallowed_blocks, true ) ) {
// Si no esta excluido se añade a la lista de bloques
$filtered_blocks[] = $block;
}
}
// Mostramos la lista de bloques permitidos
return $filtered_blocks;
}
return $allowed_block_types;
}
add_filter( 'allowed_block_types_all', 'ayudawp_lista_bloques_excluidos', 10, 2 );
En este ejemplo solo queríamos desactivar unos pocos bloques (navegación, bucle de consulta y el de incrustados, así que simplificamos. Eso sí, el código es un pelín más complejo pero el resultado es el esperado. Eso sí, cuando hagas pruebas, acuérdate de cambiar de usuario, te recuerdo que este código no afecta a los usuarios con perfil de administrador 😉
Lista de bloques WordPress
Para que domines esto de activar o desactivar bloques, aquí tienes la lista de bloques con sus slugs internos, que necesitarás para activar o desactivar bloques según tus necesidades.
Texto
| Slug | Nombre |
|---|---|
core/paragraph |
Párrafo |
core/heading |
Encabezado |
core/list and core/list-item |
Lista |
core/quote |
Cita |
core/code |
Código |
core/details |
Detalles |
core/preformatted |
Preformateado |
core/pullquote |
Párrafo de cita |
core/table |
Tabla |
core/verse |
Verso |
core/footnotes |
Notas al pie |
Medios
| Slug | Nombre |
|---|---|
core/image |
Imagen |
core/gallery |
Galería |
core/audio |
Audio |
core/cover |
Fondo |
core/file |
Archivoi |
core/media-text |
Medios y texto |
core/video |
Vídeo |
Diseño
| Slug | Nombre |
|---|---|
core/buttons y core/button |
Botones y Botón |
core/columns y core/column |
Columnas y columna |
core/group |
Grupo |
core/row |
Fila |
core/stack |
Pila |
core/more |
Más |
core/nextpage |
Salto de página |
core/separator |
Separador |
core/spacer |
Espaciador |
Widgets
| Slug | Nombre |
|---|---|
core/archives |
Archivos |
core/calendar |
Calendario |
core/categories |
Categorías |
core/html |
HTML personalizado |
core/latest-comments |
Últimos comentarios |
core/latest-posts |
Últimas entradas |
core/page-list y core/page-list-item |
Lista de páginas |
core/rss |
RSS |
core/search |
Búsqueda |
core/shortcode |
Shortcode |
core/social-links and core/social-link |
Iconos sociales |
core/tag-cloud |
Nube de etiquetas |
Tema
| Slug | Nombre |
|---|---|
core/navigation |
Navegación |
core/site-logo |
Logo del sitio |
core/site-title |
Título del sitio |
core/site-tagline |
Descripción corta del sitio |
core/query,core/post-navigation-link,core/post-template,core/query-pagination,core/query-pagination-next,core/query-pagination-numbers,core/query-pagination-previous,core/query-no-results,core/read-more |
Bucle de consulta |
core/posts-list |
Lista de entradas |
core/avatar |
Avatar |
core/post-title |
Título |
core/post-excerpt |
Extracto |
core/post-featured-image |
Imagen destacada |
core/post-content |
Contenido |
core/post-author |
Autor |
core/post-author-name |
Nombre del autor |
core/post-date |
Fecha, Fecha modificada |
core/post-terms |
Categorías, Etiquetas |
core/post-navigation-link |
Entrada siguiente, Entrada anterior |
core/read-more |
Leer más |
core/comments,core/comment-author-name,core/comment-content,core/comment-date,core/comment-edit-link,core/comment-reply-link,core/comment-template,core/comments-title,core/comments-pagination,core/comments-pagination-next,core/comments-pagination-numbers,core/comments-pagination-previous |
Comentarios |
core/post-comments-form |
Formulario de comentarios |
core/loginout |
Acceder/Salir |
core/term-description |
Descripción del término |
core/query-title |
Título del archivo, Título de los resultados de búsqueda |
core/post-author-biography |
Biografía del autor |
Incrustados
| Slug | Nombre |
|---|---|
core/embed |
Incrustado, Twitter, Youtube, WordPress, Soundcloud, Spotify, Flickr, Vimeo, Animoto, Cloudup, Crowdsignal, Dailymotion, Imgur, Issuu, Kickstarter, Mixcloud, Reddit, ReverbNation, Screencast, Scribd, Slideshare, SmugMug, Speaker Desc, TikTok, Videopress, WordPress.tv, Amazon Kindle, Pinterest, Wolfram |
Espero que te sirva para personalizar la lista de bloques que quieres activar o desactivar en el editor de WordPress de tu web.
¿Te gustó este artículo? ¡Ni te imaginas lo que te estás perdiendo en YouTube!











Gracias por este bellísimo artículo. Tus consejos son siempre los mejores.