免插件实现WordPress文章阅读次数

免插件实现WordPress文章阅读次数

CludeChn
2013-03-29 / 0 评论 / 703 阅读 / 正在检测是否收录...
温馨提示:
本文最后更新于2013年03月29日,已超过4255天没有更新,若内容或图片失效,请留言反馈。

一般为Wordpress文章添加阅读次数统计,会用到wp-postviews或者wp-postviews-plus插件,这里分享两段不用插件实现Wordpress文章阅读次数的代码,供大家参考。

代码一:

一、首先将下面代码加到主题functions模版文件中:

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模版主循环的中:

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

也就是类似这句的下面

<?php if (have_posts()) : while (have_posts()) : the_post(); ?>  

三、最后,将调用显示阅读次数代码加到single模版适当的位置:

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

如果想在其它位置显示阅读次数,可以将下面代码也加到functions模版中:

remove_action('wp_head','adjacent_posts_rel_link_wp_head',10,0);  

原文:Track post views without a plugin using post meta

代码二:

一、同样将下面代码加到主题functions模版文件中:

//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模版适当的位置:

<?php get_post_views($post -> ID); ?> views  

调用显示阅读次数代码也可以加到其它模版文件的适当位置。

代码i源自:M2主题

0

评论 (0)

取消