wp实现博客伪更新

nimaboke 2014-10-29 3881

初次接触网站建设的时候,我想每个人大多是激情饱满,每天都喜欢打理打理自己的小站,随着时间一长,就会因乏味或工作,生活等其他因素导致无法管理自己的网站了,其实我也很懒,也就是别人所认为的“懒博主”。


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() {?>
//此处是调用主题首页blog的式样,根据自己的主题调整。基本上是把index.php里的内容搬过来就可以了。
}  



再编写你的首页模板文件(index.php,有的是home.php文件)找到下面这段代码:

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

找到以后将下面这段代码加入到其前面:

//括号里的单位是小时,意思是12小时内没有新文章的话,则执行伪更新随机调用一篇已发布的文章放在首页第一篇文章
if(function_exists(‘randomtopicfornoupdate’)) randomtopicfornoupdate(12); 

怎么样现在应该知道原理了吧,其实就是把曾经发布过的文章,随机调用到首页第一篇而已。



flyer 评论:
我们emlog好像也有定时发布文章插件吧!

极品飞鸽 评论:
这个技巧不错,很有用,虽然俺基本每天更新内容,但如果放假就没办法了

Finle 评论:
博客每日更新,用不着啊。。
最新回复 (0)