您现在的位置是:首页 > 教程 > WordPress教程WordPress教程
wordpress不用插件实现文章阅读数的方法
惜霜2023-06-26 21:52:11WordPress教程已有人查阅
导读一开始想到应该有什么插件能实现,搜索了下,排 头一的是文章浏览量计数器(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模板安装使用方法介绍
wordpress主题模板怎么用,通过后台上传安装主题,通过FTP上传安装主题模板,主题安装还是上传,都需要压缩成服务器支持的格式 -
wordpress获取某个栏目链接地址的实现方法
wordpress获取某个分类的链接地址的两种方法,本文将详细介绍,需要了解的朋友可以参考下通过get_category_link() 获取分类文章的链接URL -
WordPress怎么修改页面底部的自定义文字
1、首先找到向所有文章底部添加自定义内容的代码,1、首先找到向所有文章底部添加自定义内容的代码 -
禁用WordPress致命错误WSOD的方法
如何禁用WordPress致命错误(WSOD)处理,希望对需要的朋友有所帮助!WordPress 5.2内置了一个新功能,当检测到插件或主题发生错误时
留言与评论 (共有 条评论) |