Buscar publicaciones de WordPress programáticamente por rango de fechas
TL; DR: El código compartido en esta publicación muestra cómo puede modificar la consulta que se ejecuta en la página Todas las publicaciones para que pueda limitar la forma en que busca publicaciones a un rango de fechas específico.
Ha pasado un tiempo desde la última vez que escribí sobre el uso del post_where
filtro para modificar la consulta de búsqueda que se ejecuta en una página determinada, como el área Todas las publicaciones de WordPress. Pero dado el hecho de que hay una variedad de usos para recuperar publicaciones, y tipos de publicaciones personalizadas, de diferentes maneras, hay una variedad de formas de usar este filtro único.
Buscar publicaciones por intervalo de fechas
Para buscar publicaciones por rango de fechas, esto es lo que debe suceder:
- Registre una devolución de llamada con el
posts_where
filtro, - Asegúrese de que la función acepte la cadena
where
y la instancia deWP_Query
que se está ejecutando en la página - Obtenga la fecha y hora de hoy y la fecha y hora de hace cuatro semanas
- Anteponer la
where
cláusula para restringir los resultados a la fecha return
la consulta actualizada.
El resultado de esta función es una consulta modificada que restringe las publicaciones que se devuelven en la fecha y hora especificadas. Es decir, hace cuatro semanas hasta la hora, el minuto y el segundo.
Puede cambiar esto actualizando la -4 weeks
cadena pasada a la strtotime
función (pero recomiendo revisar la página del manual de PHP vinculada a continuación para comprender cómo funciona esta función con un lenguaje como este).
Referencias
[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)