首页 > 其他分享 >给 WordPress 添加文章浏览量统计功能

给 WordPress 添加文章浏览量统计功能

时间:2024-11-01 16:11:56浏览次数:1  
标签:count 浏览量 meta 添加 WordPress key post postID 统计

前几天给一个基于 WordPress 的网站添加了文章的浏览量统计功能,但统计了几天后发现,统计了个寂寞,来访的除了蜘蛛就是自己,意义不大,索性删除了罢。想要统计,后面可以接入专门的网站统计系统,比如Google Analytics。下面把 WordPress 文章浏览量统计代码分享出来。

下面的代码我是加到 functions.php 里面的,当然,也可以做成插件。

/**
 * 获取文章阅读量
 *
 * @since 2024.10.25
 *
 */
function getPostViews($postID){
    $count_key = 'post_views_count';
    $count = get_post_meta($postID, $count_key, true);
    if($count==''){
        delete_post_meta($postID, $count_key);
        add_post_meta($postID, $count_key, '0');
        return "0";
    }
    return $count;
}

/**
 * 更新文章阅读量
 *
 * @since 2024.10.25
 *
 */
function setPostViews($postID) {
    // 检查用户是否已登录
    if (is_user_logged_in()) {
        return; // 已登录用户,不执行统计
    }
    $count_key = 'post_views_count';
    $count = get_post_meta($postID, $count_key, true);
    if($count==''){
        $count = 0;
        delete_post_meta($postID, $count_key);
        add_post_meta($postID, $count_key, '0');
    }else{
        $count++;
        update_post_meta($postID, $count_key, $count);
    }
}
// Remove issues with prefetching adding extra views
remove_action( 'wp_head', 'adjacent_posts_rel_link_wp_head', 10, 0);

使用方法:

setPostViews函数加到 single.php 里面,如果有访问就会调用该函数实现文章阅读统计。然后在适当的地方调用getPostViews函数用于获取文章的阅读量。

当然,也可以完善setPostViews函数,使之不统计蜘蛛的流量,要实现也不难,通过 useragent 来判断即可。但既然觉得这事没有意义,也就懒得去做了。

补充:

既然去掉了该功能,那么数据库里产生的统计数据就要删除掉:

DELETE FROM wp_postmeta WHERE meta_key = 'post_views_count';

后记:

十一月了,时间过的真快,距离开通博客正好一个月了。新的月份里了,随便水一篇文章用来填充月份归档吧。

标签:count,浏览量,meta,添加,WordPress,key,post,postID,统计
From: https://www.cnblogs.com/art/p/18520460/wordpress-pageview-statistics-function

相关文章

  • wincc中VBS添加对象
    定义变量DimMTX2将Hmiruntime的画面里面的控件赋给定义好的变量mtx2.改变对象属性,这里只改变颜色,还可以改变位置,大小等等。最后效果代码SubVBFunction_4()'提示:'1.使用<CTRL+SPACE>或<CTRL+I>快捷键打开含所有对象和函数的列表'2.使用HMIRuntime对象......
  • CesiumJS 案例 P17:添加文本、文本样式、删除文本、移动文本
    CesiumJSCesiumJSAPI:https://cesium.com/learn/cesiumjs/ref-doc/index.htmlCesiumJS是一个开源的JavaScript库,它用于在网页中创建和控制3D地球仪(地图)一、添加文本<!DOCTYPEhtml><htmllang="en"> <head> <metacharset="UTF-8"/> &l......
  • 项目添加埋点
    1、稳定性埋点index.html中添加埋点代码<scriptsrc='https://wpkgate-emas.ding.zj.gov.cn/static/wpk-jssdk.1.0.2/wpkReporter.js'crossorigin='true'></script><script>//稳定性try{constconfig={bid:'xxxxxxx&......
  • 推荐一个在react项目中为元素添加样式的第三方库(styled-components)(css in js方案)
    1、安装插件pnpm      pnpmistyled-components npm      npminstall styled-componentsyarn        yarn add styled-components2、创建一个js文件用于写样式(模板字符串写法)(1)以App.jsx组件为例,创建一个style.js样式文件,创建组件并暴露//......
  • Android添加OpenCV支持
    首先下载OpenCV的SDK推荐在官网下载。官网地址:https://opencv.org/releases/也可以在OpenCV的GitHub上现在GitHUb链接:https://github.com/opencv/opencv/releases官网下载:GitHub下载下载完成后,解压压缩包,会得到以下目录其中SDK文件夹是我们要导入的目标。在进行......
  • el-form中关于添加el-table后动态添加el-input后怎么设置校验
    个人笔记,欢迎指正场景复现如何实现动态表单满足rules规则实现代码<el-formref="form":model="form":rules="rules"label-width="80px"><el-col:span="24"><el-form-itemlabel="客户名称"prop="cust......
  • windows 在词库中添加自定义短语,比如输入now可以选择当前日期加时间
    本文只记录添加在词库中添加自定义短语1、右击任务栏中的中英文切换的图标,选择“设置” 2、在”词库和自学习“中找到“用户定义短语”,点击添加或编辑自定义短语 3、点击“添加” 4、需要输入拼音、候选位置和短语拼音:now侯选位置:固定的选择序号短语:%yyyy%年%MM%月......
  • k8s~为pod添加节点的资源限制
    CPU单位CPU资源以CPU核心数为单位进行度量的。在Kubernetes中,一个CPU相当于:1AWSvCPU1GCPCore1AzurevCore一个超线程(在使用超线程的裸金属Intel处理器上)请求0.5CPU的容器所保证的CPU核数是请求节点上的1个CPU的一半。你可以用后缀m表示milli。例如100mCPU、100m......
  • PbootCMS后台ueditor编辑器上传图片如何去掉自动添加的title和alt属性
    修改ueditor.all.min.js文件:打开 \core\extend\ueditor\ueditor.all.min.js 文件搜索 "imageUrlPrefix",找到以下代码:javascript g.setAttribute("title",f.title||"");g.setAttribute("alt",f.original||"");修......
  • CesiumJS 案例 P12:添加指定长宽的图片图层并居中显示(圆点分别为图片图层的中心点、左
    CesiumJSCesiumJSAPI:https://cesium.com/learn/cesiumjs/ref-doc/index.htmlCesiumJS是一个开源的JavaScript库,它用于在网页中创建和控制3D地球仪(地图)一、添加加指定长宽的图片图层并居中显示(原点为图片图层的中心点)<!DOCTYPEhtml><htmllang="en"> <head>......