终于搞定HeatMap主题不用插件显示文章、页面浏览次数的方法

虽然本博客分别介绍了安装WP-PostViews插件以及《不用插件让WordPress具备显示浏览次数的完美方案》 等方案让WordPress博客在首页、日志页面和分页面显示文章、页面浏览次数的方法。但笔者一直尝试将我正在使用的HeatMap主题博客通过不用插件的方式完美显示文章浏览的方法(因为通过安装WP-PostViews插件后,该主题只能修改single.php文件再日志页面显示文章浏览次数,无法在分类或者首页显示每篇日志的浏览次数!多少有些遗憾)。
于是笔者深入的研究了HeatMap主题的有关文件,终于让我找到聊解决方案,不敢独享,放出来与大家共同享用吧!

第一步,首先在模板函数 (functions.php)中添加如下函数代码:

/*定义文章浏览次数函数*/
if ( ! function_exists( ‘getPostViews’ ) ) :
function getPostViews($postID) {
 $count_key = ‘post_views_count’;
 $count = get_post_meta($postID, $count_key, true);
 if ($count == ”) {
 delete_post_meta($postID, $count_key);
 add_post_meta($postID, $count_key, ‘0’);
 return “Just 0 Views”;
 }
 return ‘Just ‘.$count.’ Views’;
}
endif;

if ( ! function_exists( ‘setPostViews’ ) ) :
function setPostViews($postID) {
 $count_key = ‘post_views_count’;
 $count = get_post_meta($postID, $count_key, true);
 if ($count == ”) {
 $count = 0;
 delete_post_meta($postID, $count_key);
 add_post_meta($postID, $count_key, ‘0’);
 } else {
 $count++;
 update_post_meta($postID, $count_key, $count);
 }
}
endif;
/*定义文章浏览次数函数结束*/
我是直接添加到函数开头的注释之后的,也就是该两个函数为首先创建的函数。

第二步,在single.php文件中的<?php get_header(); ?>下添加如下代码:

  <?php setPostViews(get_the_ID()); ?>

(代码解释:这段代码的作用是调用 functions.php 里我们添加的 setPostViews 方法,以实现设置浏览次数。)

第三步,分别在page.php、single.php、common.php文件的合适位置添加如下代码:

<?php echo getPostViews(get_the_ID()); ?>

调用 getPostViews 方法,以获得浏览次数,并显示出来。

具体位置为:
1、common.php文件:
在<div class=”post-details”>后找到<?php edit_post_link(‘(Edit)’, ”, ”); ?>,然后修改成如下内容:
    <?php edit_post_link(‘(Edit)’, ”, ”); ?>
   <?php echo getPostViews(get_the_ID()); ?>
  即可
2、single.php文件:在<div class=”post-details”>后找到<?php edit_post_link(‘(Edit)’, ”, ”); ?>,然后修改成如下内容:

   <p><?php echo getPostViews(get_the_ID()); ?>
    &nbsp;编辑该文章:<?php edit_post_link(‘(Edit)’, ”, ”); ?>
   </p>

 3、page.php文件:参照single.php文件修改方式!

第四步,按前述操作保存所有更改后,大功告成!

后记,该方法对已经运行一段时间的博客有一个小小的遗憾,由于是添加函数方式对浏览次数进行计数,按此方法修改之前的文章浏览次数将无法统计!不过对于新建博客就按此方法修改则没有任何问题!