1. 首页
  2. Wordpress教程

纯代码实现WordPress文章点击浏览次数

现在通过 wordpress 系统建站已经非常普遍,但是如果想在网站文章上显示每篇文章的浏览数量,大部分人会想到使用 wordpress 浏览量插件 WP-PostViews,它可以准确有统计并显示文章总共的浏览量。我们知道 wordpress 插件的好处在于使用方便简单,当然缺点在于会拖累我们网站打开速度。那么我们今天分享纯代码实现 WordPress 文章点击浏览次数,这个功能非常实用相信很多博客更喜欢这种方式(当然你也可以使用这个插件来实现同样的功能):

方法一

实现 wordpress 文章浏览次数很简单,将下面代码加入到 functiuons.php 中:

  1. /*实现文章浏览次数*/
  2. function getPostViews($postID) {
  3. $count_key = "post_views_count";
  4. $count = get_post_meta ( $postID, $count_key, true );
  5. if ($count == "") {
  6. delete_post_meta ( $postID, $count_key );
  7. add_post_meta ( $postID, $count_key, "0" );
  8. return "0 View";
  9. }
  10. return $count . " Views";
  11. } function setPostViews($postID) {
  12. $count_key = "post_views_count";
  13. $count = get_post_meta ( $postID, $count_key, true );
  14. if ($count == "") {
  15. $count = 0;
  16. delete_post_meta ( $postID, $count_key );
  17. add_post_meta ( $postID, $count_key, "0" );
  18. } else {
  19. $count ++;
  20. update_post_meta ( $postID, $count_key, $count );
  21. }
  22. }

将如下代码插入 single.php 文件中要显示浏览次数的位置:

  1. <?php setPostViews(get_the_ID()); ?>
  2. <?php echo getPostViews(get_the_ID()); ?>

需要在哪个页面显示文章的浏览次数,就在相应的模板文件中加入:

方法二

在 wordpress 主题函数模板 functiuons.php 中加入:

  1. //文章阅读次数统计与调用
  2. function record_visitors(){
  3. if (is_singular()){
  4. global $post;
  5. $post_ID = $post->ID;
  6. if($post_ID){
  7. $post_views = (int)get_post_meta($post_ID, 'views', true);
  8. if(!update_post_meta($post_ID, 'views', ($post_views+1))){
  9. add_post_meta($post_ID, 'views', 1, true);
  10. }}}}
  11. add_action('wp_head', 'record_visitors');
  12. function post_views($before = '(', $after = ')', $echo = 1)
  13. {
  14. global $post;
  15. $post_ID = $post->ID;
  16. $views = (int)get_post_meta($post_ID,'views', true);
  17. if ($echo) echo $before, number_format($views), $after;
  18. else return $views;
  19. }

在模板需要调用的地方加入函数即可:

  1. <?php post_views('', ''); ?>

方法三

首先在网站后台的 wordpress 模板函数 functions.php 文件中加入以下的代码:

  1. /*文章浏览量*/
  2. function record_visitors()
  3. {
  4.     if (is_singular())
  5.     {
  6.       global $post;
  7.       $post_ID = $post->ID;
  8.       if($post_ID)
  9.       {
  10.           $post_views = (int)get_post_meta($post_ID, 'views', true);
  11.           if(!update_post_meta($post_ID, 'views', ($post_views+1)))
  12.           {
  13.             add_post_meta($post_ID, 'views', 1, true);
  14.           }
  15.       }
  16.     }
  17. }
  18. add_action('wp_head', 'record_visitors');
  19. /// 函数名称:post_views  
  20. /// 函数作用:取得文章的阅读次数  
  21. function post_views($before = '(点击 ', $after = ' 次)', $echo = 1)
  22. {
  23.   global $post;
  24.   $post_ID = $post->ID;
  25.   $views = (int)get_post_meta($post_ID, 'views', true);
  26.   if ($echo) echo $before, number_format($views), $after;
  27.   else return $views;
  28. }

然后需要显示浏览量的地方,包括首页,分类页,文章页都可以使用,添加浏览量调用代码:

  1. <?php post_views(' ', ''); ?>

注意头部模板中,添加 WP HOOK 函数标签,放在标签上面:

  1. <?php wp_head();?>

以上就是 WordPress 免插件实现显示文章浏览量次数的三种常见方法,原理基本都一样,选择适合自己的任何一种,都可以实现在自己建网站时显示文章的浏览量了,但是有一个弊端就是每刷新一下,浏览量自动的增加一次。

原创文章,作者:懒咪WP,如若转载,请注明出处:https://www.lanmit.com/2871.html

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据