我什至不确定这是否可能,但我想知道是否有办法创建一个 Wordpress 查询,该查询将在早上 00:00 选择一个帖子并在 24 小时内显示该帖子。第二天早上 00:00 时,它应该会刷新并在另外 24 小时内显示另一个随机帖子。这可能吗,如果可以,怎么办?
问问题
233 次
1 回答
1
您可以使用WordPress Transients API和WP_Query 类来完成。
$random_id = '';
if ( false === ( $random_id = get_transient( 'some_random_post_id' ) ) ) {
// The transient expired, so create another
$args = array(
'posts_per_page' => 1, #return one value
'orderby' => 'rand',
'post_type' => 'yourposttype'
);
$single_post_query = new WP_Query( $args );
while( $single_post_query->have_posts() ){
$single_post_query->the_post();
$random_id = get_the_ID();
set_transient('some_random_post_id', $random_id, 60*60*24); # save the ID returned
}
}
//do your stuff with $random_id as the post id.
请注意,当有人访问您的网站时,WordPress 会更新其瞬态,因此可能不是 24 小时。此外,如果您使用 WordPress 3.5 或更高版本,您可以使用常量DAY_IN_SECONDS
而不是60*60*24
.
于 2013-04-01T10:54:09.500 回答