Rechercher par programme les publications WordPress par plage de dates
TL; DR : Le code partagé dans ce message montre comment vous pouvez modifier la requête qui s’exécute sur la page Tous les messages afin que vous puissiez limiter la façon dont vous recherchez des messages à une plage de dates spécifiée.
Cela fait un petit moment que je n’ai pas écrit sur l’utilisation du post_where
filtre pour modifier la requête de recherche qui s’exécute sur une page donnée, comme la zone All Posts de WordPress. Mais étant donné qu’il existe une variété d’utilisations pour récupérer des messages – et des types de messages personnalisés – de différentes manières, il existe différentes façons d’utiliser ce filtre unique.
Rechercher des messages par plage de dates
Pour rechercher des publications par plage de dates, voici ce qui doit se passer :
- Enregistrez un rappel avec le
posts_where
filtre, - Assurez-vous que la fonction accepte la chaîne pour
where
et l’instance deWP_Query
qui s’exécute sur la page - Obtenez la date et l’heure d’aujourd’hui et la date et l’heure d’il y a quatre semaines
- Ajouter la
where
clause au début pour limiter les résultats à la date return
la requête mise à jour.
Le résultat de cette fonction est une requête modifiée qui limite les publications renvoyées à la date et à l’heure spécifiées. À savoir, il y a quatre semaines jusqu’à l’heure, la minute et la seconde.
Vous pouvez changer cela en mettant à jour la -4 weeks
chaîne transmise à la strtotime
fonction (mais je vous recommande de consulter la page de manuel PHP liée ci-dessous pour comprendre comment cette fonction fonctionne avec un langage comme celui-ci).
Références
[posts_where](https://developer.wordpress.org/reference/hooks/posts_where/)
[WP_Query](https://developer.wordpress.org/reference/classes/wp_query/)
[wpdb](https://developer.wordpress.org/reference/classes/wpdb/)
[gmdate](https://www.php.net/manual/en/function.gmdate.php)
[strtotime](https://www.php.net/manual/en/function.strtotime.php)