Cerca in modo programmatico i post di WordPress per intervallo di date
TL; DR: Il codice condiviso in questo post mostra come puoi modificare la query che viene eseguita nella pagina Tutti i post in modo da poter limitare il modo in cui cerchi i post a un intervallo di date specificato.
È passato un po’ di tempo dall’ultima volta che ho scritto sull’utilizzo del post_where
filtro per modificare la query di ricerca che viene eseguita su una determinata pagina, come l’ area Tutti i post di WordPress. Ma dato il fatto che ci sono una varietà di usi per recuperare i post – e tipi di post personalizzati – in modi diversi, c’è una varietà di modi per usare questo filtro singolo.
Cerca post per intervallo di date
Per cercare i post per intervallo di date, ecco cosa deve succedere:
- Registra una richiamata con il
posts_where
filtro, - Assicurati che la funzione accetti la stringa
where
e l’istanzaWP_Query
in esecuzione sulla pagina - Ottieni la data e l’ora di oggi e la data e l’ora di quattro settimane fa
- Anteponi la
where
clausola per vincolare i risultati alla data return
la query aggiornata.
Il risultato di questa funzione è una query modificata che limita i post restituiti entro la data e l’ora specificate. Vale a dire, quattro settimane fa fino all’ora, minuto e secondo.
Puoi cambiarlo aggiornando la -4 weeks
stringa passata alla strtotime
funzione (ma ti consiglio di rivedere la pagina di manuale PHP collegata di seguito per capire come funziona questa funzione con un linguaggio come questo).
Riferimenti
[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)