Intereting Posts

Запросить последние обновленные сообщения (сообщения обновлены за последние 24 часа)

Мне сложно найти пример создания цикла с сообщениями, которые были обновлены за последние 24 часа.

Моя идея состоит в том, чтобы иметь страницу сообщений или, возможно, на index.php список сообщений, которые были обновлены в последний день (24 часа с момента выполнения запроса)

Это возможно ? Есть ли способ выполнить этот запрос?

заранее спасибо

Solutions Collecting From Web of "Запросить последние обновленные сообщения (сообщения обновлены за последние 24 часа)"

<?php $timelimit=1 * 86400; //days * seconds per day $post_age = date('U') - get_post_time('U'); if ($post_age < $timelimit) { echo 'this post is within my time limits '; //DO SOMETHING } ?> 

В зависимости от того, где вы хотите показывать свои сообщения, решение будет отличаться. Если вы хотите отфильтровать главную главную страницу, это решение будет выполнять:

 /** * Conditionally add a posts_where filter based on the current query * * @param object $query * @return void */ function wpse_53599_24h_pre_get_posts( $query ) { if ( is_admin() || ! $query->is_main_query() || ! $query->is_home() ) return; add_filter( 'posts_where', 'wpse_53599_filter_last_24h' ); } add_action( 'pre_get_posts', 'wpse_53599_24h_pre_get_posts' ); /** * Add a clause to posts_where to restrict posts to the last 24h * * @param string $where * @return string */ function wpse_53599_filter_last_24h( $where = '' ) { $where .= " AND post_date >= '" . date( 'Ymd H:i:s', time() - DAY_IN_SECONDS ) . "'"; remove_filter( 'posts_where', 'wpse_53599_filter_last_24h' ); return $where; } 

Обратите внимание, что мы удаляем фильтр, потому что мы не хотим ограничивать каждый запрос по почте на сайте. Только наши соответствующие.

Если вы хотите отфильтровать запрос, отличный от основного домашнего запроса, просто измените условное pre_get_posts функции pre_get_posts .

Если вы хотите отфильтровать дополнительный запрос, это еще проще, просто добавьте фильтр posts_where перед созданием WP_Query и сразу удалите его и пропустите бит pre_get_posts .