0

我什至不确定这是否可能,但我想知道是否有办法创建一个 Wordpress 查询,该查询将在早上 00:00 选择一个帖子并在 24 小时内显示该帖子。第二天早上 00:00 时,它应该会刷新并在另外 24 小时内显示另一个随机帖子。这可能吗,如果可以,怎么办?

4

1 回答 1

1

您可以使用WordPress Transients APIWP_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 回答