• 售前

  • 售后

热门帖子
入门百科

不消wordpress插件显示文章欣赏统计功能代码修改(原理分析)

[复制链接]
伊索谗言 显示全部楼层 发表于 2021-8-15 20:15:50 |阅读模式 打印 上一主题 下一主题
增长文章欣赏数
wordpress本身不带文章欣赏数的统计功能,所以要先将文章欣赏数记载起来,才能在显示文章的时间读取到欣赏数。wordpress的数据库中文章表是wp_posts,其中没有欣赏次数的字段,假如自己加字段改动就大了。比力好的办法就是将数据记载在wp_postmeta这个表中,这个表就是用来记载一些文章扩展数据的。实今世码如下:

复制代码代码如下:
/**
* 设置文章的欣赏次数
*
* @param int $postID 文章编号
*/
function setPostViews($postID) {
    $count_key = 'post_views_count';
    $count = get_post_meta($postID, $count_key, true);
    if ($count == '') {
        add_post_meta($postID, $count_key, '1');
    } else {
        $count++;
        update_post_meta($postID, $count_key, $count);
    }
}

代码的流程就是先从wp_postmeta获取文章的欣赏数,然后进行判定:假如没有获取到则增长文章欣赏数的数据,初始值设置为1;否则就将欣赏数加1,更新文章欣赏数。
最后只需将这段代码复制到主题的funtions.php文件中,并在文章页面(single.php)的主循环内调用即可,调用代码如下:

复制代码代码如下:
<?php setPostViews(get_the_ID()); ?>






获取文章欣赏数
文章欣赏数记载之后就能读取到了。代码如下:

复制代码代码如下:
function getPostViews($postID){
    $count_key = 'post_views_count';
    $count = get_post_meta($postID, $count_key, true);
    if($count==''){
        return 1;
    }
    return $count;
}

代码的流程就是从wp_postmeta获取文章的欣赏数,假如没有就返回1,否则就返回欣赏数。
将这段代码复制到主题的funtions.php文件中,在须要的地方调用这个方法就可以了。
小结
网上盛行的版本有调用delete_post_meta,细致查看代码发现没有什么须要。另外另有一个postviews插件也能实现类似功能,不过从官网来看只兼容到wordpress 3.3.2版本。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

帖子地址: 

回复

使用道具 举报

分享
推广
火星云矿 | 预约S19Pro,享500抵1000!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

草根技术分享(草根吧)是全球知名中文IT技术交流平台,创建于2021年,包含原创博客、精品问答、职业培训、技术社区、资源下载等产品服务,提供原创、优质、完整内容的专业IT技术开发社区。
  • 官方手机版

  • 微信公众号

  • 商务合作