TL; DR: Kod udostępniony w tym poście pokazuje, jak zmodyfikować zapytanie uruchamiane na stronie Wszystkie posty, aby ograniczyć sposób wyszukiwania postów do określonego zakresu dat.
Minęło trochę czasu, odkąd ostatnio pisałem o używaniu post_where
filtra do modyfikowania zapytania wyszukiwania, które działa na danej stronie, na przykład w obszarze Wszystkie posty w WordPressie. Ale biorąc pod uwagę fakt, że istnieje wiele zastosowań do pobierania postów – i niestandardowych typów postów – na różne sposoby, istnieje wiele sposobów użycia tego pojedynczego filtra.
Szukaj postów według zakresu dat
Aby wyszukiwać posty według zakresu dat, należy wykonać następujące czynności:
- Zarejestruj oddzwonienie z
posts_where
filtrem, - Upewnij się, że funkcja akceptuje ciąg znaków
where
i instancjęWP_Query
, która jest uruchomiona na stronie - Pobierz dzisiejszą datę i godzinę oraz datę i godzinę sprzed czterech tygodni
- Dołącz
where
klauzulę, aby ograniczyć wyniki do daty return
zaktualizowane zapytanie.
Wynikiem tej funkcji jest zmodyfikowane zapytanie, które ogranicza posty zwracane do określonej daty i godziny. Mianowicie cztery tygodnie temu do godziny, minuty i sekundy.
Możesz to zmienić, aktualizując -4 weeks
ciąg znaków przekazany do strtotime
funkcji (ale polecam przejrzenie strony podręcznika PHP, do której link znajduje się poniżej, aby zrozumieć, jak ta funkcja działa w takim języku).
Bibliografia
[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)