WordPress纯代码实现阅读量统计

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

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

WordPress纯代码实现阅读量统计

我直接贴出代码,每个函数的功能均在注释中已经标识出:

/**
 * 判断阅读数量是否需要增加并进行操作
 * 转载请注明来自:http://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天内阅读数量最多的文章:

/**
 * 转载请注明来自:http://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);
}
 在此优站网希望大家能喜欢。
收藏 (0) 打赏

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

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

免责声明   ⚠️ 1. 本站所有资源来源于网络收集,若资源侵犯了您的合法权益, 请来信通知我们(Email: 1427707223@qq.com),我们会及时删除,给您带来的不便,我们深表歉意! 2. 分享目的仅供大家学习和交流,若使用商业用途,请购买正版授权! 否则产生的一切后果将由下载用户自行承担! 3. 会员不得使用于非法商业用途,不得违反国家法律。否则后果自负! 4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解! 5. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需! 6. 因源码具有可复制性,一经购买 ,不得以任何形式退款。 7.更多详情请点击查看

优站网 WordPress教程 WordPress纯代码实现阅读量统计 https://www.zhanceo.com/20251.html

诚乃立身之本、信为道德之基

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

相关文章

联系官方客服

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

WordPress纯代码实现阅读量统计-海报