Descubre cómo evitar que se muestren las entradas de una o varias categorías en el bloque de listado de contenido con un poco de código.
El bloque nativo de WordPress que permite mostrar un listado de entradas (query block) ha mejorado muchísimo en las últimas actualizaciones.
De hecho, en este tutorial repaso todas las opciones que ofrece en su interfaz de usuario. Aunque son bastantes, no llega al grado de personalización que podemos llegar modificando los parámetros de WP_Query
.
Sin embargo, la versión de WordPress 6.1 introduce un filtro de PHP que permite interaccionar directamente con la consulta (query), con lo cual las posibilidades se amplían casi hasta el infinito.
Por ejemplo, con el siguiente filtro puedes evitar que se muestren las entradas de una determinada categoría (o varias si lo prefieres).
Vamos a ver cómo:
Snippet para evitar que se muestren las entradas de una determinada categoría en el bloque de listado de contenido
Añade un bloque de listado de contenido y configura los ajustes a tu gusto. El apartado para «Taxonomías» puedes dejarlo como está, ya que esta es la parte que vas a modificar usando el filtro.
A continuación añade el siguiente snippet al fichero functions.php o a tu plugin de funcionalidades:
Para ver este código y los otros 2055 snippets de esta web,
identifícate o suscríbete aquí.
En este código utilizas el filtro query_loop_block_query_vars
para modificar la consulta y pedir que excluya las entradas con la categoría con IDs 10 y 15 en la página principal ( is_front_page()
) de la web.
Puedes modificar tanto las categorías por las que te interesen y usar otra etiqueta condicional (por ejemplo, is_home
, is_page
…).
Puedes obtener el ID de la categoría revisando la URL cuando editas la misma o, si quieres ponértelo más fácil, conseguir que se muestre directamente en el admin de WordPress con este tutorial.
Por ejemplo, este sería el código que usarías si quieres que la modificación de la consulta solo se muestre en la página con ID igual a 55:
Para ver este código y los otros 2055 snippets de esta web,
identifícate o suscríbete aquí.
Ya ves que tener un filtro con acceso a la query te da una flexibilidad extra a lo que ofrece la interfaz de usuario. Y este es solo un ejemplo de lo que puedes conseguir.
Puedes acceder a cualquier parámetro de WP_Query
, así que las posibilidades son tremendas.
Eso sí, ten en cuenta que al estar usando un filtro de PHP tienes la limitación de que el resultado solo lo verás en la parte frontal de la web, en el backend no se reflejarán los cambios.
Conclusiones
Ya ves qué fácil es modificar la consulta del bloque nativo de WordPress de listado de contenidos para que no muestre las entradas de una determinada categoría (o varias).
Si tienes alguna duda te leo en los comentarios. Y si quieres dejarme una sugerencia para futuros tutoriales, envíamela a través del formulario de contacto.
Todo ventajas de ser suscriptor. 😉