WordPress纯代码实现阅读量统计
最近更新 2022年04月05日
资源编号 20251

WordPress纯代码实现阅读量统计

2021-11-04 WordPress教程 0 652
下单流程:
选择资源
赞助获取
网盘下载
额外(二次开发 网站建设)
¥ 0牛币

VIP免费升级VIP

立即下载 升级会员 下单教程 售后支持
🔊 下载须知
下载前请认真阅读本重要提示:(如下载链接失效或支付未回调,请联系站长QQ972908224或在网站发私信给站长,信息一定要有:网站会员名称、购买金额、资源链接,见字后会第一时间处理,晚上23点至早上8点期间是站长休息时间,留言即可,请勿频繁发信息。本站以用户的需求为基础,将最有价值的信息和资源分享给广大编程人员及源码爱好者在本地电脑端进行调试、参考和研究,本站不提供任何技术服务!所有资源禁止在服务器或者虚拟机下进行联网搭建运营,禁止任何商业环境使用!所有资源展示图片和描述不代表本站的立场!本站只是存储平台!如需运营请购买正版!杜绝利用本站资源进行触犯国家法律法规,下载者如触犯以上声明,所产生的一切后果由下载者自行承担!请悉知!其次,源码模板过多不能保证每个细节都符合你的需求,也可能存在未知的BUG与瑕疵、残次和版本过旧、破解版本过期等问题。你下载的资源和程序源码组件因其特殊性均为可复制品,所以不支持任何理由的退款兑现;请认真阅读本站声明和相关条款,谨慎斟酌后再下载
详情介绍

众所周知,对于 WordPress 的批评是插件越多越慢(其实在我看来并不是插件越多,而是越慢越多对查询和事件的钩子),所以我写了一个纯代码版本,实现了读取统计和部分查询功能。

当然,也许你想说这些已经被别人分享过了;是的,在我写之前,我肯定会去网上看看现有的,发现有一些不尽人意的地方,比如添加 meta 的钩子放在 wp_head 上,查询阅读量必须通过 post_id 等。

WordPress纯代码实现阅读量统计我直接贴出代码,每个函数的功能均在注释中已经标识出:

/**
 * 判断阅读数量是否需要增加并进行操作
 * 转载请注明来自:https://licoy.cn/3462.html
 */
function the_views_add($post_ID,$count,$key){
    if (is_single() || is_page()) {
        if ($count == '') {
            add_post_meta($post_ID, $key, '0');
        } else {
            update_post_meta($post_ID, $key, $count + 1);
            $count++;
        }
    }
    return $count;
}
//获取当前的阅读数量与自增
function the_views ($post_id=null,$echo=true) {
    global $post;
    if($post_id==null){
        $post_id = $post->ID;
    }
    $key = 'views';
    $count = get_post_meta($post_id, $key, true);
    if ($count == '') {
        $count = 0;
    }
    $count = the_views_add($post_id, $count, $key);
    $count = number_format_i18n($count);
    if(!$echo){
        return $count;
    }
    echo $count;
}
//设置文章发布的时候进行字段添加
function set_views ($post_ID) {
    $key = 'views';
    $count = get_post_meta($post_ID, $key, true);
    if ($count == '') {
        add_post_meta($post_ID, $key, '0');
    }
}
add_action('publish_post', 'set_views');

这里再分享一个查询函数,因为是自定义的所以就没有插件的附带函数支持,这个函数是查询 N 天内阅读数量最多的文章:

/**
 * 转载请注明来自:https://licoy.cn/3462.html
 * 获取查看最多的文章
 * @param $days N 天内
 * @param $nums 数量
 * @return array|object|null
 */
function get_views_most_post($days, $nums){
    global $wpdb;
    $sql = "select posts.*, meta.meta_value as views
            from {$wpdb->posts} as posts INNER JOIN (select post_id,(meta_value+0) as meta_value from 
            {$wpdb->postmeta} where meta_key='views' order by (meta_value+0) DESC) as meta
            on meta.post_id = posts.ID
            where posts.post_type = 'post'
            AND posts.post_status = 'publish' AND TO_DAYS(now()) - TO_DAYS(posts.post_date) < {$days}
            ORDER BY meta.meta_value DESC limit 0, {$nums}";
    return $wpdb->get_results($sql);
}
 在此汇站网希望大家能喜欢。
资源下载此资源仅限注册用户下载,请先
客服 QQ:972908224

本文章已结束,如转载请注明:汇站网 » WordPress 纯代码实现阅读量统计

温馨提示: (本资源会持续更新),若下载链接失效,请在下方 (留言)(私信)站长处理!
收藏 (0)

微信支付 微信扫一扫

支付宝支付 支付宝扫一扫

打赏二维码
点赞 (0)

站长资源下载中心-找源码上汇站

常见问题
  • 如果付款后没有弹出下载页面,多刷新几下,有问题联系客服!
查看详情
  • 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。
查看详情

相关文章

联系官方客服

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