现在通过 WordPress 系统建站已经非常普遍,但是如果想在网站文章上显示每篇文章的浏览数量,大部分人会想到使用 wordpress 浏览量插件 WP-PostViews,它可以准确有统计并显示文章总共的浏览量。我们知道 wordpres1 s 4 $s 插件的好处在于使用方便简单,当然缺点在于会拖累我们网站打开速度。那么我们今天分享纯代码实现 WordPress 文章点击浏览次数,这个功能非常实用相信很多博客更喜欢这; A Z x n . 2种方式(当然你也可以使用这个插件来实现同样的功能):
方法一
实现 wordpress 文章浏览次数很简单,将下面代码加入到 f3 z [ $ P ,unct] \ 0 3 S Iiuons.php 中:
- /*实现文章浏览次数*/
- function getPostViews($postID) {
- $count_key = "postH C h j * C K_views_cou, * 3 d Jnt";~ E o
- $count = get_post_meta ( $postID, $count_k4 . =ey, tru7 b ; h oe );
- if ($count == "") {
- deletn ^ / ] O L 2 7 Ce_post_mQ Q ) j z 9 .eta (P H r , Q $post, r # m 6ID, $count_key );
- add_post_meta ( $postID, $count_key, "_ Z 40"% \ O * );
- return "0 View&qo ` g 2 $ | 2uot;;
- }
- ret[ \ u | { b ourn $count . " Views";
- }
- function setPostViews($postID) {
- $count_key = "post_views_count&A _ m o Zqun * ! Q J | 6 eot;;
- $count = get_post_meta ( $postIs i u ` * 0 vD, $count_key, true );
- if ($count == "") {
- $count = 0;
- delete_p3 L F G 2 `ost_meta ( $postID, $count_key );
- add_post_meta ( $postID, $count_key, "0" );
- } else {
- $count? ) { : 1 k d @ ++;
- update_post_meta ( $postID, $count_kp ^ 4 c ` ! *ey, $count K c G { k d p T41;;
- }
- }
将如下代码插入 single.php 文件中要显示浏览次数的位置:
- <?php; c g m setPostVQ d J / K L M n \iews(get_the_ID()); ?Z , N Q m 4>
- <?php echo getPostViews(get_the_ID()); ?&\ 6 F T G = / 0 lgt;
需要在哪个页面显示文章的浏览次数,就在相应的模板文件中加入:
方法二I 9 d e \ @ q ^ &
在 wordpreo h & 1 g 3 b @ss 主题函数模板 functiuons.php 中加入:
- //文章阅读次数统计与调用
- functiy 3 n w G q p N +on record_vH \ _isitors(){
- if = R 7 `40;is_singular())/ p ${
- glob5 ( Q c { * p { _al $post;
- $post_ID = $post->ID;
- if($post_ID){
- $post_views = S 9 N H } z w - _0;int)get_po6 x ) !st_metv p Ra($post_ID, '0 O M # 9views', true);
- if(!update_post_meta($post_ID, 'views', ($post_views+1))&y S e + w I#41;{
- add_post_meta($post_ID, 'views', 1, true);
- }}}}
- add_action('wp_head', 'record| = | J l_visitors');
- func* A i g ^ $ Ttion postJ W x_vi2 } ) S @ #ews($before = '(',h K P \ ) 9 T $after = ')', $echo = 1)
- A z ` C S 0123;
- global $post;
- $post_ID = $post->o ( D 1 =ID;
- $views = (int)get_post_meta($post_ID,'views4 K f \ Z', true);
- if ($echo) echo $before, numd 0 *ber_% R K v 1format($views), $after;
- else reb A c x h ! F Rturn $views;
- }
在模板需要调用的地方加入函数即可:
- <?php post_views('',I ` | X ~ ''); ?&V * = d -gt;
方法三
首先在网站后台的 wordpress 模板函数 functions.php 文件中加入以下l I = f的代码:
- /*文章浏览量*/
- functio7 V S a e + , r ^n record_visitors()
- &z [ q x J _ Z , h#123;
- if (is_singular())
- &* ^ C y#123;
- globale P ^ $post;
- $pox R : U e ; Q 2st_ID = $pk c ) 4 l 8ost->ID;
- ifB v p * H t k40;$post_ID)
- {
- $post_views = (int)get_post_meta($post_ID, 'viewm @ ` _ hs', true);
- if(!update_post_meta($post_ID, 'viewsF j 3 d o', ($post_views+1)))
- &t d D g K | ! . U#123;
- add_post_meta($post_ID, 'views', 1, true);
- }
- }
- }
- }
- add_action('wp_heaQ q B N k (d', 'record_visitors');
- /// 函数名称:post_views
- /// 函数作用:取得文章的阅读次数
- function post_views($before = '(点击 ', $after = ' 次)', $echo = 1&Q I h ]#s 5 = / P41;
- {I N d I F;
- global $post;
- $post_ID =c m H x . $post->ID;
- $views = (int)get_poF F : i H =st_meta($posA + # 1 b Jt_ID, 'views', true);
- if ($echo) echo $before, number_format($views), $after;
- else return $viev / N w # k Ews;
- }
然后需要显示浏览量的$ E S O ?地方,包括首页,分类页,文章页都可以使用` K O | 2 7 m G t,添加浏览量调用代码:
- <?php post_views(' ', ''); ?>
注意头部模板中,添加 WP HM U jOOK 函数标签,放在标签上面:
- <?php wp_head();?>
悠然自学提供的简化版(如果一个页面多次调用,就需要设置一次 session 或者 cookies 来防止多次增加)
- func0 } Ktion yox N Y @uran_get_views($post_id = null, $num = 13 C 7 7 } D ] C _41;
- {
- //如果没有传输文章ID
- if (!$post_id) {
- //获取当前循环中的文章ID,文章页直接获取当前文章ID
- global $post;
- $post_id = $post->ID;
- }
- //得到当前文章的浏览量,如果没有就等于1
- $views = get_post_meta($post_id, 'views', true) ?: 1;
- //如果有文章,并且是在文章内容页,或者页面内容页
- if ($post_id && (is_single() || is_pago @ C : G De()} } / x 3 ] C X g41;) {
- //更新文章浏览量
- update= P m v ~_post_met7 J F & b + u \ Xa&\ { H ##40;$po; 4 ? = 0 a &st_i5 ? !d, 'views', $views + $num);
- }
- //输出数量
- retf Y { NurQ m - \n $views;
- }L = 3 { a 3 P u H;
以上就是 WordPress 免插件实现显示文章浏览量次数的几种常见方法,原理基本都一样,选择适合自己的任何一种,都可以实现在自己建网站时显示文章的浏览量了,但是有一个弊端就是每刷新一下,浏览量自动的增加一次,如果你不希望刷新增加浏览量可以阅读“WordPress 文章刷新不影响浏览量点击量统计代码”此文章进行设置。