Програмний пошук публікацій WordPress за діапазоном дат
TL; DR: код, опублікований у цій публікації, показує, як можна змінити запит, який виконується на сторінці «Усі публікації», щоб можна було обмежити пошук публікацій певним діапазоном дат.
Минуло небагато часу з тих пір, як я востаннє писав про використання post_where
фільтра для модифікації пошукового запиту, який виконується на певній сторінці, наприклад, в області «Усі повідомлення» WordPress. Але враховуючи той факт, що існує безліч варіантів використання для отримання публікацій – і користувацьких типів публікацій – різними способами, існує безліч способів використання цього єдиного фільтра.
Пошук дописів за діапазоном дат
Щоб шукати публікації за діапазоном дат, ось що має статися:
- Реєстрація зворотного дзвінка з
posts_where
фільтром, - Переконайтеся, що функція приймає рядок для
where
та екземпляр,WP_Query
який виконується на сторінці - Отримайте сьогоднішню дату й час, а також дату й час чотири тижні тому
- Додайте перед реченням,
where
щоб обмежити результати датою return
оновлений запит.
Результатом цієї функції є модифікований запит, який обмежує дописи, які повертаються до вказаної дати та часу. А саме чотири тижні тому з точністю до години, хвилини та секунди.
Ви можете змінити це, оновивши -4 weeks
рядок, переданий у strtotime
функцію (проте я рекомендую переглянути сторінку посібника PHP, посилання на яке наведено нижче, щоб зрозуміти, як ця функція працює з такою мовою).
Список літератури
[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)