wordpress非插件实现文章浏览人数统计
wordpress版本:4.9.5
主题:dan
2018-12-25更新
这种方式效果不好,主题一更新就可能会失效,因为会将原来已经改好的文件覆盖,推荐采用子主题的形式,把该段代码写在子主题下的 functions.php 中,如何建立子主题,详情见这里
温馨提示:修改主题文件夹下的文件有风险,请做好备份准备。或者先在本地搭建WordPress,方法可以看这里,然后将网站使用的主题拷贝到本地的xx/themes/下,然后启用该主题。最终效果
前面的日期,作者都是主题自带。4浏览是我们加上去的,很漂亮有没有。编辑function.php(默认在/home/wwwroot/wp-content/themes/dan/)文件,在<?php 后面添加如下代码
// begin 2018-5-12 Browse Statistics
function record_visitors()
{
if (is_singular())
{
global $post;
$post_ID = $post->ID;
if($post_ID)
{
$post_views = (int)get_post_meta($post_ID, 'views', true);
if(!update_post_meta($post_ID, 'views', ($post_views+1)))
{
add_post_meta($post_ID, 'views', 1, true);
}
}
}
}
add_action('wp_head', 'record_visitors');
/// 函数名称:post_views
/// 函数作用:取得文章的阅读次数
function post_views($echo = 1)
{
global $post;
$post_ID = $post->ID;
$views = (int)get_post_meta($post_ID, 'views', true);
if ($echo) return number_format($views);
else return $views;
}
// end 2018-5-12 Browse Statistics
养成好习惯,给程序添加注释,最好写上时间,这段代码要完成的功能,方便以后检查,保存退出。然后编辑template-tags.php(默认在/home/wwwroot/wp-content/themes/dan/inc/),在echo ‘<span class=”posted-on”>…..(39行附近),末尾单引号“ ’ ”前,加入
<span class="byline"><span class="fas fa-eye fa-fw" aria-hidden="true"></span><a>' . $viewnumber . '浏览</a></span>
主要就是照着原来代码添加,然后稍微改一改,fs-eye是小眼睛,这个随便去别人的网站,看到这个一个小眼睛的东西,谷歌浏览器的话,按F12,找出源代码即可。最后echo里面的内容应该如下面所示
echo '<span class="posted-on"><span class="fas fa-clock fa-fw" aria-hidden="true"></span>' . $posted_on . '</span><span class="byline"><span class="fas fa-user-circle fa-fw" aria-hidden="true"></span>' . $byline . '</span><span class="byline"><span class="fas fa-eye fa-fw" aria-hidden="true"></span><a>' . $viewnumber . '浏览</a></span>';
然后在在$byline = sprintf那一段下面,加入如下代码
// begin 2018-5-12 value of viewnumber
$viewnumber=sprintf(
__( 'by %s', 'dan' ),
'' . post_views() . ''
);
// end 2018-5-12 value of viewnumber
然后保存,退出,这样,就完成了不需要插件就可以统计文章访问量的目的。其它主题也应当类似,关键是找到网页的哪一部分对应代码的哪一部分,然后做相应的修改。
如果在这个过程中遇到了其它问题,欢迎在评论区留言,或者Google一下,也欢迎把具体的解决方法留在评论区,以供后来者参考
欢迎转载,不需注明出处,就说是你写的
参考