绿软吧:
  • 服务器优化中,访问异常请见谅!2020-10-26
  • 站点功能升级完毕!开放注册中.....2020-04-22

[WordPress教程]WordPress文章随机刷新旧文章为新文章

更新时间: 2020-12-03 14:16 分类: 建站教程 人气: (126) 0个评论

实现WordPress文章时限内未更新随机更新老文章,这样做的好处是给旧文章更多的展示机会

就会随机更新一片老文章,当然也有插件,但是代码实现的话更方便!

[WordPress教程]WordPress文章随机刷新旧文章为新文章

打开主题内的functions.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() {?> 
//此处是样式,可自行调整 
}

然后打开主题的index.php首页文件找到以下代码:

<?php if (have_posts()) : while (have_posts()) : the_post(); ?>

找到后,在之前加上以下代码

if(function_exists('randomtopicfornoupdate')) randomtopicfornoupdate(36);

最后括号内的时间为执行时间 36即36小时内无更新 则执行随机文章.

然后,就没有然后了,36小时无更新,就会发现有随机文章咯~

除特别注明外,本站所有文章均为绿软吧原创,转载请注明出处来自http://www.lvr8.com/wordpress-wgx.html
喜欢 (0)
[]
分享 (0)
参与吐槽
取消回复
表情