Descubre cómo ordenar las entradas por fecha de modificación en el bloque de bucle de consulta (query block) con un poco de código.
El bloque nativo de WordPress que permite mostrar un listado de entradas, ahora denominado «bucle de consulta» (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 al 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 conseguir que las entradas se muestren por fecha de modificación, en lugar de por fecha de publicación.
Esto puede ser práctico si quieres mantener la fecha de publicación pero que la entrada que has actualizado aparezca antes en el listado.
Vamos a ver cómo:
Snippet para ordenar las entradas por fecha de actualización en el bloque de bucle de consulta de WordPress
Añade un bloque de listado de contenido y configura los ajustes a tu gusto. El apartado de «Ordenar por» 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 ordene las entradas por fecha de modificación en la página principal ( is_front_page()
) de la web.
Puedes modificar tanto las categorías por otras que te interesen como la 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 424:
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 bucle de consulta (query loop) para que ordene las entradas por fecha de modificación, en lugar de por fecha de publicación.
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. 😉