✅ Noticias, temas, complementos de WEB y WordPress. Aquí compartimos consejos y las mejores soluciones para sitios web.

Buscar publicaciones de WordPress programáticamente por rango de fechas

39

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

  1. Registre una devolución de llamada con el posts_wherefiltro,
  2. Asegúrese de que la función acepte la cadena wherey la instancia de WP_Queryque se está ejecutando en la página
  3. Obtenga la fecha y hora de hoy y la fecha y hora de hace cuatro semanas
  4. Anteponer la wherecláusula para restringir los resultados a la fecha
  5. returnla 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 weekscadena pasada a la strtotimefunció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)

Fuente de grabación: tommcfarlin.com

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More