^ 回到顶部
  • 人生没有定律,每个人都有自己的节奏
  • 本站wordpress建站教程均通过实践后发布,希望对你有帮助,如果有代码出错,请联系站长解决
  • 希望你的坚持,都是因为热爱,而不是因为不甘心
  • 8年wordpress建站经验,5星服务品质
  • 那些不愿意让你吃亏的人,才是真正值得你深交的人,也是值得你付出时间的人
  • 腾讯云3年2核2G新品轻量限时特惠只需408元

WordPress文章点击统计ajax版,兼容wp super cache缓存代码及插件

自从陌小雨博客历经文章阅读数数次清零后,陌小雨对这个文章浏览数也不是很在意了,这也就是所谓的破罐子破摔吧,但自从陌小雨前段时间再启用 wp super cache 纯缓存代码后,陌小雨觉得还是有必要把这个浏览数折腾折腾,不然有的老的冷的文章浏览数一直是 1、2、3 啥的不好是吧。

相关文章:

2 核 2G 限时特惠 396 元/3 年    宝塔建站 10850 大礼包

分享 WP Super Cache 纯代码版

Xiu 主题启用 wp super cache 插件后实现有新评论删除缓存

第一步:在 wordpress 根目录下,新建 ajax.php.内容如下

<?php
define( 'DOING_AJAX', true );
require_once( 'wp-config.php' );
do_action( 'wp_ajax_nopriv_' . $_REQUEST['action'] );
die( '0' );

 第二步:在主题目录下的 functions.php 添下以下代码

//WordPress 文章点击统计 ajax 版,兼容 wp super cache 缓存代码及插件
//整理:陌小雨博客 https://dedewp.com
add_action( 'wp_ajax_nopriv_v', 'views' );
function views($echo) {
    $post_id = intval( $_GET['views_id'] );
    if( $post_id > 0 ) {
        $post_views = get_post_custom( $post_id );
        $post_views = intval( $post_views['views'][0] );
        update_post_meta( $post_id, 'views', ( $post_views + 1 ) );
        exit();
    }
    if ($echo == 1) {
        global $post; 
        $post_ID = $post->ID;
        $views = (int)get_post_meta($post_ID, 'views', true);
        echo number_format($views);
    }
}

第三步:引入 jquery 库,xiu 主题已有引入,就不用再添加了。

第四步:在 footer.php 文件 body 之前添加

<?php if( is_single() ){?>
<script type='text/javascript'>
/* <![CDATA[ */var v = {"u":"\/ajax.php","id":"<?php the_ID(); ?>"};/* ]]> */
jQuery.ajax({type:"GET",url:v.u,data:"views_id="+v.id+"&action=v"});
</script>
<?php } ?>

 第五步:完毕,接下来在需要显示的计数的主循环内添加以下代码即可

阅读(<?php views(1);?>)

 

如果小白博主觉得本篇文章太复杂,建议直接使用 wp-postviews 这个插件,简洁且多功能。

WP-PostViews 是一款很受欢迎的文章浏览次数统计插件,记录每篇文章浏览次数、可以根据浏览次数显示历史最热文章、展示范围可以是全部文章和页面,也可以是某些指定目录下的文章和页面。由于陌小雨博客只需要统计文章点击及显示浏览量,所以本篇文章就更适合陌小雨自己了。这个自定义函数会使用跟 wp-postvies 一样的自定义表单'views'。 经测试,有没有使用缓存插件都可以完美统计。

说在最后:

大前端的 xiu、dux、tob 主题文章浏览数采用自定义字段 views 作为文章浏览数,确实是一大败笔呀!

赠人玫瑰,手有余香。