1. 王金亮博客首页
  2. 主题插件
  3. CMS插件

wordpress网站怎么添加博客文章/访客/浏览量统计小工具

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

博客统计小工具

网上很多博客统计的方法都是直接把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后台——外观——小工具。

就可以看到添加完成的“博客统计”工具,根据自己的需求放置到任意的页面。

WordPress添加博客统计工具

注意:上传的博客统计工具是没有任何CSS样式的,也就是需要自行去增加或者适应主题的CSS。

这里有两种方法去修改博客统计工具的CSS样式。

方法一:

找一个现有的小工具,比如博主站点的【热门标签】

热门标签

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

热门标签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文件发现内容不全时请下载文件使用专业的软件编辑

 

恭喜,此资源为免费资源,请先
本站声明:本站下载类资源来源于网络素材,仅可用于学习和参考使用,请勿用于商业通途,否则一切后果自负,请在下载的24小时内进行删除,如本站发布的资源侵犯到了您的权益,请准备好相应的证明材料与本站进行联系,本站在收到材料的第一时间即对资源进行处理,联系邮箱:www@jayseoer.com

版权声明:若无特殊注明,本站文章皆为王金亮博客原创,转载请保留文章出处。

本站原创文章,作者:王金亮,如若转载,请注明出处:https://www.jayseoer.com/558.html

发表评论

电子邮件地址不会被公开。 必填项已用*标注