额。。说好听一点,就是让博客的阅读量好看一点;说难听点,就是自欺欺人……
下面只谈技术:
1、主题角度入手
我用的是大前端的主题,其他的参考一下:
dux目录下,functions-theme.php的_post_views_record方法,如下图所示
这部分代码是我加的:
$min = 500; $max = 2000; //如果阅读量小于$min,则自动计算一个$min~$max的随机数作为阅读量 if($post_views<$min){ $post_views=rand($min,$max); }
美中不足是,这段代码是在第一次访问该文章的时候被调用,这样访问列表页面的时候还是0,打开内容页触发这段函数,阅读量才出来。
如果是在发文之后马上调用就更好了。
2、后台编辑器入手
所以考虑在编辑界面调用一下,试了一下还真的可以。
找到/wp-admin/edit-form-advanced.php中的<div id=”post-body-content”>,加到这下面
<div> <?php global $post; $post_ID = $post->ID; if ($post_ID) { $post_views = (int) get_post_meta($post_ID, 'views', true); $min = 500; $max = 2000; //如果阅读量小于$min,则自动计算一个$min~$max的随机数作为阅读量 if($post_views<$min){ $post_views=rand($min,$max); } if (!update_post_meta($post_ID, 'views', ($post_views + 1))) { add_post_meta($post_ID, 'views', 1, true); } } echo _get_post_views(); ?></div>
效果如下,新建文章直接就有阅读量,是不是有点6。
最后总结一下子,因为最终修改了/wp-admin/edit-form-advanced.php这个文件,所以就跟具体的theme无关了,echo _get_post_views();是dux主题提供的代码,注释掉就行了。
不过我theme的代码并没有干掉,两边都保留了,主要是考虑到,万一哪天用爬虫直接发布到wp,不走编辑界面呢?哈哈