wordpress 超过指定时间自动更新一篇随机文章

在functions.php文件中添加以下代码:

[cce_php]
function randomtopicfornoupdate($count = 24) { //默认时间为24小时,可自行修改 
 global $wpdb; 
 $last = $wpdb->get_results("SELECT MAX(post_date) AS MAX_m FROM $wpdb->posts WHERE (post_type = 'post' ) AND (post_status = 'publish' )"); 
 $laststamp = strtotime($last[0]->MAX_m); 
 $hours = (time()+3600*8 - $laststamp)/3600; 
 if( $hours > $count) { //超过指定时间,则执行伪更新 
 if((time()+3600*8 - get_option("rtfu_time"))/3600 > $count) { 
 update_option("rtfu_time",time()+3600*8); 
 $rand_query = new WP_Query("showposts=1&orderby=rand"); 
 if($rand_query->have_posts()){ 
 while($rand_query->have_posts()){ 
 $rand_query->the_post(); 
 global $id; 
 update_option("rtfu_postid",$id); 
 show_the_index(); 
 } 
 } 
 } 
 else { 
 $rndpostid = get_option("rtfu_postid"); 
 $rand_query = new WP_Query("p=" .$rndpostid); 
 if($rand_query->have_posts()){ 
 while($rand_query->have_posts()){ 
 $rand_query->the_post(); 
 show_the_index(); //调用主题的式样显示随机的这篇文章 
 } 
 } 
 
 } 
 } 
} 
 
function show_the_index() {?> 
//此处是样式,可自行调整 
}
[/cce_php]

在index.php首页找到以下代码:

[cce_php]<?php if (have_posts()) : while (have_posts()) : the_post(); ?>[/cce_php]

在上面这段代码之前加上:

[cce_php]if(function_exists('randomtopicfornoupdate')) randomtopicfornoupdate(36);[/cce_php]

这个36就是小时。

36小时后不更新,就随机更新一篇随机文章