如何从特定帖子类型中显示一个随机帖子24小时然后刷新

时间:2013-04-01 09:44:10

标签: wordpress

我甚至不确定这是否可行,但我想知道是否还有创建一个Wordpress查询,它将在早上00:00选择一个帖子并显示该帖子24小时。当它在第二天早上00:00到达时,它应该刷新并显示另外24小时的其他随机帖子。这有可能,如果是这样的话?

1 个答案:

答案 0 :(得分:1)

您可以使用WordPress Transients APIWP_Query class

来执行此操作
$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