Descubre cómo puedes mostrar una combinación de entradas de varios Custom Post Types 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
.
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 este filtro puedes mostrar las entradas de varios Custom Post Type distintos.
Vamos a ver cómo:
Snippet para combinar entradas de varios Custom Post Types 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 «Seleccionar tipo de contenido» 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 2063 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 muestre las entradas de 'tutorial'
, 'course'
y 'portfolio'
en la página principal ( is_front_page()
) de la web.
Puedes modificar tanto los Custom Post Type por los que te interesen (incluso usar ‘post’ o ‘page’) y usar otra etiqueta condicional (por ejemplo, is_home, is_page…).
Por ejemplo, este sería el código que usarías si quisieras que la modificación de la consulta solo se muestre en la página con ID igual a 8385:
Para ver este código y los otros 2063 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 muestre la combinación de las entradas de varios Custom Post Type.
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. 😉