Filtrer dynamiquement les résultats par champ de date avec FacetWP

Salut les gars,

Dans ce tutoriel nous allons voir comment on peut filtrer les résultats d'une liste par un champ date.

Dans le tutoriel suivant, nous allons utiliser les plugins et modèles premium suivants :

Fichier personnalisé avancé (ACF)

FacetteWP

DIVI

Vous disposez GRATUITEMENT FacetWP, champs douaniers avancés et DIVI dans la Zone Premium

Didacticiel vidéo

S'abonner à mon canal :  

Imaginons que nous créons une page d'événements et que nous ayons besoin qu'une fois l'événement terminé, il n'apparaisse pas dans la liste de notre site Web.

Quelque chose comme ça:

Liste des travaux dans WordPress

Comme je l'ai dit, nous voulons qu'une fois l'événement passé, il n'apparaisse pas dans la liste.

Il y a plusieurs solutions possibles, celle qui m'est venue est la suivante :

  • Créer un champ Date avec ACF
  • Filtrer par ce champ les résultats dans FacetWP

Créer un champ Date avec ACF

Grâce à ACF nous pouvons créer un champ date, dans mon cas j'ai créé un champ appelé Date de suppression du travail

Champ de date ACF

Lorsque je remplis un travail, il ressemble à ceci:

Champ Date de travail

Pourquoi n'ai-je pas utilisé le même champ de date du travail ?

Vous vous demandez peut-être pourquoi je n'ai pas utilisé le champ de date de performance.

Je ne l'ai pas fait pour deux raisons :

1ère Raison de ne pas utiliser le champ de la date de la représentation

Car il faudrait aussi que je prenne en compte le temps de la représentation pour ne pas retirer l'oeuvre prématurément.

2ème Raison

Une œuvre peut avoir plusieurs dates de représentation, il me serait donc difficile de savoir laquelle utiliser.

Pour ne pas devenir fou j'ai pensé qu'il valait mieux utiliser un nouveau champ pour la date pour faire disparaître l'oeuvre.

Une fois que j'ai le champ prêt, je dois ajouter le filtre dans FacetWP

Créer un filtre dans FacetWP

Pour ce faire, nous allons dans Paramètres -> FacetWP et dans le modèle (Modèles) que nous utilisons, nous allons dans l'onglet Requête et ajoutons le filtre suivant :

filtre dynamique facetwp

Dans le filtre suivant, nous indiquons à FacetWP que si la date de suppression du travail est supérieure à la date actuelle, le résultat est filtré, c'est-à-dire qu'il n'apparaît pas.

Nous utilisons NOW pour que la date du filtre soit dynamique et prenne en compte la date du moment où la QUERY est exécutée.

C'est la façon dont j'ai trouvé pour créer un filtre dynamique.

Pouvez-vous penser à une autre façon de le faire? Partagez-le avec nous 😉

N'oubliez pas que vous disposez GRATUITEMENT FacetWP, champs douaniers avancés et DIVI dans la Zone Premium

Laisser un commentaire