wordpress如何不用插件实现文章阅读数

2023-12-01 0 974

下面由WordPress教程栏目给大家介绍wordpress不用插件实现文章阅读数的方法,希望对需要的朋友有所帮助!

wordpress如何不用插件实现文章阅读数

wordpress不用插件实现文章阅读数

一、想法

一开始想到应该有什么插件能实现,搜索了下,排第一的是文章浏览量计数器(Post Views Counter)。

在安装该插件之前,想了下,能否自己实现?毕竟动手折腾下,是会有收获的。

在搜索之前,我想到的是在wp_post表加个字段,然后在文章打开的时候,把数据存起来,这样就能持久保存文章阅读数了。但wordpress使用php写的,mysql加字段,对前端的我来说,还是比较耗时间的。比如用php怎么操作数据库,怎么用php加字段?估计最少半天甚至一天的时间,才能搞完。

有没有更简单的办法?因为之前折腾过wordpress数据库,知道大概有哪些表。所以突然想到有个wp_postmeta表。从字面看,应该是可以加个字段或者能从该表入手的。501a1ebbfca1acf5813887955eabe86.png

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如何不用插件实现文章阅读数的详细内容,更多请关注悠久资源其它相关文章!

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悠久资源 Wordpress教程 wordpress如何不用插件实现文章阅读数 https://www.u-9.cn/jiaocheng/wordpress-jiaocheng/15040.html

常见问题

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务