自从陌小雨博客历经文章阅读数数次清零后,陌小雨对这个文章浏览数也不是很在意了,这也就是所谓的破罐子破摔吧,但自从陌小雨前段时间再启用wp super cache纯缓存代码后,陌小雨觉得还是有必要把这个浏览数折腾折腾,不然有的老的冷的文章浏览数一直是1、2、3啥的不好是吧。
相关文章:
第一步:在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作为文章浏览数,确实是一大败笔呀!