Hola chicos,
En este tutorial veremos como podemos filtrar los resultados de un listado por un campo fecha.
En el siguiente tutorial vamos a usar los siguientes plugins y plantillas premium:
Advanced Custom Filed (ACF)
Tutorial en Vídeo
Suscríbete a mi canal:
Imaginemos que estamos creando una página de eventos y necesitamos que una vez terminado el evento no aparezca en el listado de nuestra web.
Algo tal que así:
Como decía, queremos que una vez pasado el evento no aparezca en el listado.
Hay muchas posibles soluciones, la que se me ha ocurrido a mi es la siguiente:
- Crear un campo Fecha con ACF
- Filtrar por ese campo los resultados en FacetWP
Crear un campo Fecha con ACF
Gracias a ACF podemos crear un campo fecha, en mi caso he creado un campo llamado Fecha Quitar Obra
Cuando relleno una obra se ve así:
¿Por qué no he usado el mismo campo fecha de la obra?
Puede que te estés preguntando porqué no he usado el campo de la fecha de la actuación.
No lo he hecho por dos motivos:
1º Motivo para no usar el campo de la fecha de la actuación
Porque tendría que tener en cuanta también la hora de la actuación para no quitar la obra antes de tiempo.
2ª Motivo
Una obra puede tener varias fechas de actuación por lo que me complicaría tener en cuanta cual usar.
Para no volverme loco he pensado que era mejor usar un campo nuevo para la fecha de hacer desaparecer la obra.
Una vez que tengo el campo listo tengo que añadir el filtro en FacetWP
Crear Filtro en FacetWP
Para ello vamos a Ajustes –> FacetWP y dentro de la plantilla (Templates) que estamos usando vamos a la pestaña Query y añadimos el siguiente filtro:
En el siguiente filtro le decimos a FacetWP que si la fecha de quitar la obra es superior a la fecha actual que se filtre el resultado, es decir que no aparezca.
Usamos NOW para que la fecha de filtro sea dinámica y tenga en cuenta la fecha del momento que se ejecuta la QUERY.
Esta es la manera que se me ha ocurrido a mi de crear un filtro dinámico.
¿Se te ocurre otra forma de hacerlo? Compártela con nosotros 😉