Descubre cómo puedes mostrar una selección de entradas en orden personalizado con el bloque nativo de WordPress y un poco de código.
El bloque nativo de WordPress que permite mostrar un listado de entradas, ahora denominado «bucle de consulta» (query loop), cada vez es más versátil.
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 la clase WP_Query
.
Sin embargo, la versión de WordPress 6.1 introdujo 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 en el orden personalizado que tú elijas.
Esto puede ser práctico si quieres si quieres tener el control total sobre el orden en el que se muestran los elementos. Por ejemplo, el la página de plugins de OsomPress utilizamos esta estrategia.
Vamos a ver cómo:
Snippet para personalizar el orden de las entradas en el bloque nativo 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 según tu interés en la página con ID=73 ( is_page(73)
) de la web.
Puedes obtener el ID de las entradas 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.
Una vez definido el orden de las entradas utilizas el parámetro orderby
para indicarle que use el orden que has indicado.
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 el bloque nativo de WordPress de bucle de consulta (query loop) para que ordene las entradas con tus preferencias.
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. 😉