首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >WordPress获取文章浏览总数

WordPress获取文章浏览总数

作者头像
张戈
发布2018-03-21 13:26:32
1K0
发布2018-03-21 13:26:32
举报

大部分 WordPress 都会安装 wp-postviews 插件来记录文章浏览量,这是一个很实用的插件。不过它并没有提供计算文章浏览总数的功能,为了弥补这个缺憾,我们可以在插件基础上 DIY 一个统计文章浏览总数的功能。

实现很简单,网络上也已经有文章做了分享,代码如下:

//浏览总数
function lo_all_view() {
    global $wpdb;
    $count=0;
    $views= $wpdb->get_results("SELECT * FROM $wpdb->postmeta WHERE meta_key='views'");
    foreach($views as $key=>$value)
    {
        $meta_value=$value->meta_value;
        if($meta_value!=' '){
            $count+=(int)$meta_value;
    }
}
return $count;
}

这个代码实现的原理是先把所有符合条件的 meta 字段全部查询了出来,然后做遍历运算得到最终浏览总数,比较啰嗦。

所以我重新写了一个性能更好的函数,尤其是用于大量文章的网站的时候,代码如下:

/**
* WordPress 获取文章浏览总数优化版 By 张戈博客
* 文章地址:https://zhangge.net/551.html
* 转载请保留原文出处,谢谢合作!
*/
function lo_all_view(){
    global $wpdb;
    $count =  $wpdb->get_var("SELECT sum(meta_value) FROM $wpdb->postmeta WHERE meta_key='views'");
    return $count;
}

实现更加简单,直接使用 MySQL 的 sum 方法计算浏览总数,一步到位。

用法和上文代码一样:

1、将这个函数添加到 WordPress 主题函数模板文件 functions.php 当中即可(注意如果之前加过同名函数的话,请先删除,否则会出现冲突导致网站报错!)

2、在需要显示浏览总数的地方,加入如下代码即可:

<?php echo lo_all_view(); ?>

好了,本文分享结束,希望对你有所帮助。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2013年12月31日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 MySQL
腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档