Filtrar Resultados por un Campo Fecha de Forma Dinámica con FacetWP

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)

FacetWP

DIVI

Tienes disponible GRATIS FacetWP, Advanced Customs Fields y DIVI en la Zona Premium

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í:

Listado de obras en WordPress

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

Campo Fecha ACF

Cuando relleno una obra se ve así:

Campo Fecha Obra

¿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:

filtro dinámico facetwp

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 😉

Recuerda que Tienes disponible GRATIS FacetWP, Advanced Customs Fields y DIVI en la Zona Premium

Deja un comentario