小菜早就想给文章加个浏览次数统计了,一般都是用wp-postviews或者wp-postviews-plus插件来实现,不过小菜不喜欢用插件,就一直没加,今天在上网时,看到了HotNews这个wp主题(很多博客都是用的这个主题),在浏览主题作者的博客《知更鸟》时看到了不用插件来实现统计WordPress文章浏览次数的方法,小菜测试了下,感觉很不错,就来跟大家分享下。
文章一共提到了两种方法。下面代码来自知更鸟博客
方法一:
一、在主题functions模版文件中(functions.php)添加下面代码
- 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 “0 View”;
- }
- return $count.’ Views’;
- }
- 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);
- }
- }
二、在主题single模版(single.php)主循环的中也就是类似这句的下面
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
后加入下面代码
<?php setPostViews(get_the_ID()); ?>
三、最后,将调用显示阅读次数代码加到single模版适当的位置(你想要显示的位置):
<?php echo getPostViews(get_the_ID()); ?>
代码结束
如果想在其它位置显示阅读次数,可以将下面代码也加到functions模版中():
remove_action('wp_head','adjacent_posts_rel_link_wp_head',10,0);
方法二:
一、同样将下面代码加到主题functions模版文件(functions.php)中:
- //postviews
- function get_post_views ($post_id) {
- $count_key = ‘views’;
- $count = get_post_meta($post_id, $count_key, true);
- if ($count == ”) {
- delete_post_meta($post_id, $count_key);
- add_post_meta($post_id, $count_key, ‘0’);
- $count = ‘0’;
- }
- echo number_format_i18n($count);
- }
- function set_post_views () {
- global $post;
- $post_id = $post -> ID;
- $count_key = ‘views’;
- $count = get_post_meta($post_id, $count_key, true);
- if (is_single() || is_page()) {
- if ($count == ”) {
- delete_post_meta($post_id, $count_key);
- add_post_meta($post_id, $count_key, ‘0’);
- } else {
- update_post_meta($post_id, $count_key, $count + 1);
- }
- }
- }
- add_action(‘get_header’, ‘set_post_views’);
二、将调用显示阅读次数代码加到single模版(single.php)适当的位置:
<?php get_post_views($post -> ID); ?> views
调用显示阅读次数代码也可以加到其它模版文件的适当位置。
代码原文地址:http://zmingcx.com/no-plugin-wordpress-reads.html
小菜测试的是方法一,使用很正常。小菜温馨提示:修改代码前最好备分原文件,以防万一,特别是用手机编写代码的博友,很容易因网速不好丢失代码。