现在有很多站长都会在自己博客网站上增加博客统计代码,可以实时查看网站当前的文章数量、用户数量、标签数量、访问量以及浏览次数,博主在网上找了很久才找到这个功能比较全的统计代码,而且还可以按照自己需求添加/删除对应的统计标签。

网上很多博客统计的方法都是直接把PHP写在sidebar.php
文件中,这种方法不能说不好,但就是有点麻烦,如果要修改参数或者是停用的话还要去修改sidebar.php
中的代码。
今天博主给大家介绍的这个方法不仅不需要修改sidebar.php
,而且还可以根据自己的需求修改/删除/关闭/开启博客统计功能。
制作博客统计工具
在桌面新建一个TXT记事本,把以下代码复制粘贴进去,然后把TXT记事本的后缀改成PHP,文件名称随便改。
<?php
// 站点统计小工具
// 代码来自网络
class EfanBlogStat extends WP_Widget{
function EfanBlogStat(){
// 定义小工具的构造函数
$widget_ops = array('classname' => 'widget_archive', 'description' => '显示站点的统计信息');
$this->WP_Widget(false, '站点统计', $widget_ops);
}
function form($instance){
// 表单函数,控制后台显示
// $instance 为之前保存过的数据
// 如果之前没有数据的话,设置默认量
$instance = wp_parse_args(
(array)$instance,
array(
'title' => '站点统计',
'establish_time' => '2018-01-01'
)
);
$title = htmlspecialchars($instance['title']);
$establish_time = htmlspecialchars($instance['establish_time']);
// 表格布局输出表单
$output = '<table>';
$output .= '<tr><td>标题</td><td>';
$output .= '<input id="'.$this->get_field_id('title') .'" name="'.$this->get_field_name('title').'" type="text" value="'.$instance['title'].'" />';
$output .= '</td></tr><tr><td>建站日期:</td><td>';
$output .= '<input id="'.$this->get_field_id('establish_time') .'" name="'.$this->get_field_name('establish_time').'" type="text" value="'.$instance['establish_time'].'" />';
$output .= '</td></tr></table>';
echo $output;
}
function update($new_instance, $old_instance){
// 更新数据的函数
$instance = $old_instance;
// 数据处理
$instance['title'] = strip_tags(stripslashes($new_instance['title']));
$instance['establish_time'] = strip_tags(stripslashes($new_instance['establish_time']));
return $instance;
}
function widget($args, $instance){
extract($args); //展开数组
$title = apply_filters('widget_title',empty($instance['title']) ? ' ' : $instance['title']);
$establish_time = empty($instance['establish_time']) ? '2018-01-01' : $instance['establish_time'];
echo $before_widget;
echo $before_title . $title . $after_title;
echo '<ul>';
// $this->efan_get_blogstat($establish_time, $instance);
$this->efan_get_blogstat($establish_time);
echo '</ul>';
echo $after_widget;
}
function efan_get_blogstat($establish_time /*, $instance */){
// 相关数据的获取
global $wpdb;
$count_posts = wp_count_posts();
$published_posts = $count_posts->publish;
$comments_count = $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->comments");
$time = floor((time()-strtotime($establish_time))/86400);
$count_tags = wp_count_terms('post_tag');
$count_pages = wp_count_posts('page');
$page_posts = $count_pages->publish;
$count_categories = wp_count_terms('category');
$link = $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->links WHERE link_visible = 'Y'");
$last = $wpdb->get_results("SELECT MAX(post_modified) AS MAX_m FROM $wpdb->posts WHERE (post_type = 'post' OR post_type = 'page') AND (post_status = 'publish' OR post_status = 'private')");
$last = date('Y-n-j', strtotime($last[0]->MAX_m));
$total_views = $wpdb->get_var("SELECT SUM(meta_value+0) FROM $wpdb->postmeta WHERE meta_key = 'views'");
// 显示数据
$output = '<li>文章总数:';
$output .= $published_posts;
$output .= ' 篇</li>';
$output .= '<li>评论数目:';
$output .= $comments_count;
$output .= ' 条</li>';
$output .= '<li>页面总数:';
$output .= $page_posts;
$output .= ' 个</li>';
$output .= '<li>分类总数:';
$output .= $count_categories;
$output .= ' 个</li>';
$output .= '<li>标签总数:';
$output .= $count_tags;
$output .= ' 个</li>';
$output .= '<li>友链总数:';
$output .= $link;
$output .= ' 个</li>';
$output .= '<li>浏览次数:';
$output .= $total_views;
$output .= ' 次</li>';
$output .= '<li>建站日期:';
$output .= $establish_time;
$output .= '</li>';
$output .= '<li>运行天数:';
$output .= $time;
$output .= ' 天</li>';
$output .= '<li>最后更新:';
$output .= $last;
$output .= '</li>';
echo $output;
}
}
function EfanBlogStat(){
// 注册小工具
register_widget('EfanBlogStat');
}
add_action('widgets_init','EfanBlogStat');
?>
把这个php文件通过FTP工具上传到网站主题目录下面,注意不是根目录。
然后打开主题目录下的functions.php
,在最后加入下面的这段代码。
//注册博客统计工具
include("blogstat.php");
blogstat.php是博主上传的php文件的名称,这个可以根据你们自己需要去修改。
然后回到wordpress后台——外观——小工具。
就可以看到添加完成的“博客统计”工具,根据自己的需求放置到任意的页面。

注意:上传的博客统计工具是没有任何CSS样式的,也就是需要自行去增加或者适应主题的CSS。
这里有两种方法去修改博客统计工具的CSS样式。
方法一:
找一个现有的小工具,比如博主站点的【热门标签】

通过F12元素审查找到热门标签对应的Div Class。

然后复制widget_tag_cloud
,打开blogstat.php
,修改classname,把前面复制的widget_tag_cloud
替换成现有的classname。
function BlogStat(){
// 定义小工具的构造函数
$widget_ops = array('classname' => '填写复制的Class', 'description' => '显示博客的统计信息');
$this->WP_Widget(false, '博客统计', $widget_ops);
}
然后重新上传blogstat.php文件,清除缓存刷新页面后blogstat.php的样式就自使用你的主题样式了。
方法二:
修改主题CSS样式,把以下代码插入CSS样式中即可拥有一个和博主一样的样式。
如果你会代码的话可以自己设置一个样式。
.widget_blogstat ul{
display: flex;
justify-content: flex-start;
flex-wrap: wrap;
align-item: flex-start;
}
.widget_blogstat ul li {
width: 50%;
}
博客统计代码参数修改
如果你不想在前端展示某一个信息,打开blogstat.php
修改68-97行的代码
把不需要展示<li></li>删除或者注释掉就可以了
$output = '<li>文章总数:';
$output .= $published_posts;
$output .= ' 篇</li>';
$output .= '<li>评论数目:';
$output .= $comments_count;
$output .= ' 条</li>';
$output .= '<li>页面总数:';
$output .= $page_posts;
$output .= ' 个</li>';
$output .= '<li>分类总数:';
$output .= $count_categories;
$output .= ' 个</li>';
$output .= '<li>标签总数:';
$output .= $count_tags;
$output .= ' 个</li>';
$output .= '<li>友链总数:';
$output .= $link;
$output .= ' 个</li>';
$output .= '<li>浏览次数:';
$output .= $total_views;
$output .= ' 次</li>';
$output .= '<li>建站日期:';
$output .= $establish_time;
$output .= '</li>';
$output .= '<li>运行天数:';
$output .= $time;
$output .= ' 天</li>';
$output .= '<li>最后更新:';
$output .= $last;
$output .= '</li>';
另外博主还给大家整理了一套已经打包好的博客统计程序,只要按照下面的方法操作就可以实现博客统计功能。
博客统计工具下载
1、下载blogstat.zip博客统计文件并解压到电脑上(文末有下载地址)。
2、通过FTP工具把解压后的blogstat.zip文件上传到网站的wordpress主题目录下。
3、打开主题目录下面的functions.php
文件,将下面的一段代码添加到最后一个?>
的前面。
include("blogstat.php");
4、然后回到wordpress后台,进入【外观】-【小工具】就可以看到新增了一个叫“博客统计”的小工具。
5、根据自己需要把博客统计工具添加到对应的页面即可。
6、如果不需要展示某些信息,可删除/注释219-259行的<li></li>。
效果演示
通过下载blogstat.zip的博客统计有两种展现方式
游客和管理员看到的内容有所不同

注意事项
1、在functions.php
插入引用代码时务必与php文件名一致
2、博客统计工具默认样式为<li>标签样式,需要自行修改主题样式
3、无法统计浏览量请安装WP-Postviews(浏览量统计插件)。
4、打开functions.php
文件务必使用NOTEPAD++、Dreamweaver等专业软件
5、虚拟主机建站用户请勿通过虚拟主机中的“文件管理”打开functions.php
文件
6、通过虚拟主机中的“文件管理”打开functions.php
文件发现内容不全时请下载文件使用专业的软件编辑
版权声明:若无特殊注明,本站文章皆为王金亮博客原创,转载请保留文章出处。
本站原创文章,作者:王金亮,如若转载,请注明出处:https://www.jayseoer.com/558.html