✅ Notizie, temi, plugin WEB e WordPress. Qui condividiamo suggerimenti e le migliori soluzioni per siti web.

Cerca in modo programmatico i post di WordPress per intervallo di date

8

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

  1. Registra una richiamata con il posts_wherefiltro,
  2. Assicurati che la funzione accetti la stringa wheree l’istanza WP_Queryin esecuzione sulla pagina
  3. Ottieni la data e l’ora di oggi e la data e l’ora di quattro settimane fa
  4. Anteponi la whereclausola per vincolare i risultati alla data
  5. returnla 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 weeksstringa passata alla strtotimefunzione (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)

Fonte di registrazione: 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