您现在的位置是:首页 > cms教程 > WordPress教程WordPress教程
wordpress不用插件实现文章阅读数的方法
惜霜2023-06-26WordPress教程已有人查阅
导读一开始想到应该有什么插件能实现,搜索了下,排 头一的是文章浏览量计数器(Post Views Counter)。

wordpress不用插件实现文章阅读数
一、想法一开始想到应该有什么插件能实现,搜索了下,排 头一的是文章浏览量计数器(Post Views Counter)。在安装该插件之前,想了下,能否自己实现?毕竟动手折腾下,是会有收获的。
在搜索之前,我想到的是在wp_post表加个字段,然后在文章打开的时候,把数据存起来,这样就能持久保存文章阅读数了。
但wordpress使用php写的,mysql加字段,对前端的我来说,还是比较耗时间的。比如用php怎么操作数据库,怎么用php加字段?估计最少半天甚至一天的时间,才能搞完。
有没有更简单的办法?因为之前折腾过wordpress数据库,知道大概有哪些表。所以突然想到有个wp_postmeta表。从字面看,应该是可以加个字段或者能从该表入手的。
meta_id是id,post_id是文章id,meta_key和meta_value是文章的键值对信息。
二、wordpress提供的方法那怎么操作该张表?wordpress提供了几个方法:
add_post_meta($post_id, $meta_key, $meta_value, $unique);
get_post_meta($post_id, $meta_key, $single);
update_post_meta($post_id, $meta_key, $meta_value, $prev_value);
delete_post_meta($post_id, $meta_key, $meta_value);
三、具体代码实现
那怎么用呢?
首先在function.php文件中添加add和get的函数封装,然后在template-parts/content-single.php文件中进行调用。
// function.php
function addPostViews($postId) {
$key = 'post_views';
$value = get_post_meta($postId, $key, true);
if($value == ''){
$value = 0;
delete_post_meta($postId, $key);
add_post_meta($postId, $key, $value);
}else{
$value++;
update_post_meta($postId, $key, $value);
}
}
function getPostViews($postId){
$key = 'post_views';
$value = get_post_meta($postId, $key, true);
if($value == ''){
$value = 0;
delete_post_meta($postId, $key);
add_post_meta($postId, $key, $value);
return $value;
}
return $value;
}
// template-parts/content-single.php
<p>阅读:<?php echo getPostViews(get_the_ID()); ?></p>
<?php addPostViews(get_the_ID()); ?>
本文标签:
很赞哦! ()
相关教程
- (响应式)wordpress模板VieuV4.5主题资讯自媒体博客源码
- (响应式)WordPress主题Ripro9.0博客免扩展二开版
- (自适应多语言)WordPress开源主题MirageV资讯个人博客源码
- (自适应)WordPress主题SEO自媒体博客资讯模板RabbitV2.0
- WordPress主题模板JustNews资讯博客类源码V5.2.2
- (自适应)WordPress二次元博客主题Sakurairo
- 响应式WordPress简约博客主题Alt_Blog
- Wordpress博客新闻主题在线商店平台betheme 21.5.6版
- WordPress个人博客主题 - wp-Concise-v1.0免费下载
- WordPress主题模板主题巴巴/博客X主题源码免费下载
- MYcat实现wordpress库和shopxo库分库
- wordpress、Discuz产品部署示例
图文教程
9--k8s的Endpoints健康服务检查高可用搭建wordpress
Endpoint是kubernetes中的一个资源对象,存储在etcd中,用来记录一个service对应的所有pod的访问地址,它是根据service配置文件中selector描述产生的。
WordPress可以更换HTML吗
WordPress可以更换HTML吗WordPress可以更换HTML。两种方式,一种是在wordpress后台更改(在后台点击<外观>--><编辑>),直接在原模板文件里改代码。
wordpress调用另外一个网站文章的方法
我们在做wordpress主题的时候,想在主题设置的某个位置专门来显示作者网站里某个分类下的文章;或者我们想在一个网站里调用另外一个wordpress网站内的文章
wordpress报错429的解决方法
wordpress报错429的解决办法:1、手动下载WordPress安装包,主题及插件,再手动上传到服务器执行更新;2、使用第三方WordPress 新版本镜像;3、安装并启用Kill 429插件即可。
相关源码
-
(自适应)酒店民宿客房旅馆pbootcms模板下载基于PbootCMS内核开发的酒店民宿行业专用网站模板,专注于为住宿服务企业提供专业高效的在线展示平台。该模板采用响应式设计结构,确保在不同终端设备上均能呈现优质浏览体验。查看源码 -
蓝色工业机械五金设备pbootcms模板源码下载(PC+WAP)为机械制造与五金设备企业设计的响应式网站模板,基于PbootCMS内核开发。采用蓝色工业风格强化行业属性,宽屏布局突出设备细节展示,支持PC与WAP端自适应查看源码 -
(自适应)工业机械制造设备网站pbootcms模板下载为机械制造、工业设备类企业设计,特别适合各类机械设备、生产线、工业自动化产品展示。采用响应式技术,确保在不同设备上都能清晰展示机械产品的技术参数和细节特点。查看源码 -
(自适应)帝国cms7.5模板新闻资讯门户带会员中心基于帝国CMS7.5内核开发的HTML5响应式模板,为新闻机构、媒体门户及资讯聚合平台设计。通过模块化布局实现图文混排查看源码 -
帝国cms7.5手游评测资讯礼包合集游戏专区下载网站模板本模板基于帝国CMS系统开发,为手游门户网站设计。支持PC端与移动端同步生成HTML静态页面,内置多端同步生成功能。模板架构针对手业特点优化,满足APP下载、游戏资讯、攻略等内容发布需求。查看源码 -
(自适应响应式)蓝色外贸英文产品介绍展示网站模板本模板采用手工编写的DIV+CSS架构,代码精简高效。适配手机端浏览,数据实时同步更新。内置SEO优化框架,支持独立设置各页面标题、关键词及描述。开源代码结构清晰,便于二次开发。查看源码
| 分享笔记 (共有 篇笔记) |

