当前并不是每个博客网站管理都能保证内容的经常更新,有的时候是频繁的更新,但有事时候又是需要忙的其他事情太多了,不可能天天一直保持着频繁的内容更新,像这样情况的网站应该也不在少数,毕竟每个人的时间都是有限的。
那么问题来了,搜索引擎来的时候总是千古未变的首页文章内容,搜索爬虫蜘蛛不可能还一直光顾停留你的网站了,那怎么来保证网站文章的新鲜度呢?唬人的和应付蜘蛛的首页文章内容随机更新的方法来了...
没有时间不能经常发布新文章内容,那就只好把从前的文章先拿出来充充场面咯,其实原理就是在某个时限内没有文章更新,就把首页指定第一篇文章换成随机文章而已,下面就直接说使用方法了:
首先在你主题的 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小时内无更新就更换随机文章。至此大功告成,你的网站首页指定时间内可以一直保持伪更新状态了。
注意:本文方法需要一定的 wordpress 程序代码基础,针对想要折腾的朋友可以去尝试一下。
转载请注明链接地址:荐爱小站 » 对 WordPress 首页文章指定时间内未更新就随机显示