对 WordPress 首页文章指定时间内未更新就随机显示

当前并不是每个博客网站管理都能保证内容的经常更新,有的时候是频繁的更新,但有事时候又是需要忙的其他事情太多了,不可能天天一直保持着频繁的内容更新,像这样情况的网站应该也不在少数,毕竟每个人的时间都是有限的。

那么问题来了,搜索引擎来的时候总是千古未变的首页文章内容,搜索爬虫蜘蛛不可能还一直光顾停留你的网站了,那怎么来保证网站文章的新鲜度呢?唬人的和应付蜘蛛的首页文章内容随机更新的方法来了...

没有时间不能经常发布新文章内容,那就只好把从前的文章先拿出来充充场面咯,其实原理就是在某个时限内没有文章更新,就把首页指定第一篇文章换成随机文章而已,下面就直接说使用方法了:
 

首先在你主题的 functions.php 文件种添加以下代码:

  1. function randomtopicfornoupdate($count = 24) { //初始默认时间为24小时,可以自行修改
  2. global $wpdb;
  3. $last = $wpdb->get_results("SELECT MAX(post_date) AS MAX_m FROM $wpdb->posts WHERE (post_type = 'post' ) AND (post_status = 'publish' )");
  4. $laststamp = strtotime($last[0]->MAX_m);
  5. $hours = (time()+3600*8 - $laststamp)/3600;
  6. if( $hours > $count) { //超过设定时间后,则开始执行随机更新
  7. if((time()+3600*8 - get_option("rtfu_time"))/3600 > $count) {
  8. update_option("rtfu_time",time()+3600*8);
  9. $rand_query = new WP_Query("showposts=1&orderby=rand");
  10. if($rand_query->have_posts()){
  11. while($rand_query->have_posts()){
  12. $rand_query->the_post();
  13. global $id;
  14. update_option("rtfu_postid",$id);
  15. show_the_index();
  16. }
  17. }
  18. }
  19. else {
  20. $rndpostid = get_option("rtfu_postid");
  21. $rand_query = new WP_Query("p=" .$rndpostid);
  22. if($rand_query->have_posts()){
  23. while($rand_query->have_posts()){
  24. $rand_query->the_post();
  25. show_the_index(); //调用你的主题样式显示随机的这篇文章
  26. }
  27. }
  28. }
  29. }
  30. }
  31. function show_the_index() {?>
  32. //此处是你的主题样式,可以自行调整
  33. }

 

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

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

在其之前加上如下代码:

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

最后括号内的时间为执行时间(可自行修改) 36即36小时内无更新就更换随机文章。至此大功告成,你的网站首页指定时间内可以一直保持伪更新状态了。

 

注意:本文方法需要一定的 wordpress 程序代码基础,针对想要折腾的朋友可以去尝试一下。

 

转载请注明链接地址:荐爱小站 » 对 WordPress 首页文章指定时间内未更新就随机显示

赞 (0) 赏 !

觉得文章有用就打赏一下吧,赠人玫瑰手有余香!

支付宝扫一扫打赏

微信扫一扫打赏