✅ WEB- och WordPress -nyheter, teman, plugins. Här delar vi tips och bästa webbplatslösningar.

Programmatiskt sök WordPress-inlägg efter datumintervall

10

TL;DR: Koden som delas i det här inlägget visar hur du kan ändra frågan som körs på sidan Alla inlägg så att du kan begränsa hur du söker efter inlägg till ett angivet datumintervall.

Det har gått ett tag sedan jag senast skrev om att använda post_wherefiltret för att ändra sökfrågan som körs på en given sida, till exempel området Alla inlägg i WordPress. Men med tanke på att det finns en mängd olika användningsområden för att hämta inlägg – och anpassade inläggstyper – på olika sätt, finns det en mängd olika sätt att använda detta enda filter.

Sök inlägg efter datumintervall

För att kunna söka efter inlägg efter datumintervall, här är vad som måste hända:

  1. Registrera en återuppringning med posts_wherefiltret,
  2. Se till att funktionen accepterar strängen för whereoch instansen av WP_Queryden som körs på sidan
  3. Få dagens datum och tid och datum och tid för fyra veckor sedan
  4. Lägg till wheresatsen för att begränsa resultaten till datumet
  5. returnden uppdaterade frågan.

Resultatet av den här funktionen är en modifierad fråga som begränsar de inlägg som returneras till det angivna datumet och tiden. Nämligen fyra veckor sedan upp till timme, minut och sekund.

Du kan ändra detta genom att uppdatera -4 weekssträngen som skickas till strtotimefunktionen (men jag rekommenderar att du går igenom PHP-manualsidan som länkas nedan för att förstå hur den här funktionen fungerar med språk som detta).

Referenser

  • [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)

Inspelningskälla: tommcfarlin.com

Denna webbplats använder cookies för att förbättra din upplevelse. Vi antar att du är ok med detta, men du kan välja bort det om du vill. Jag accepterar Fler detaljer