记录一些常用的函数和瞎折腾的过程……

wordpress用代码实现浏览统计

提醒:本文最后更新于 2593 天前,文中所描述的信息可能已发生改变,请谨慎使用。

申明,本人不喜欢用插件去实现wordpress的一些功能,so,喜欢在functions.php中折腾一些代码,虽然文章浏览统计已经有大名鼎鼎的WP-PostViews,但我还是坚持不用一个插件。

这段代码是我在网上找的,经核验,完全能实现这个功能,放这留作后用!

//计访问计数
function record_visitors(){
    if (is_singular()){
        global $post;
        $post_ID = $post->ID;
        if($post_ID){
            $post_views = (int)get_post_meta($post_ID, 'views', true);
            if(!update_post_meta($post_ID, 'views', ($post_views+1))){
                add_post_meta($post_ID, 'views', 1, true);
            }
        }
    }
}
add_action('wp_head', 'record_visitors');

如果不用上面的add_action的话,可以这样用:<?php if(is_single()){record_visitors();} ?>

// 函数作用:取得文章的阅读次数
function post_views($before = '点击 ', $after = ' 次', $echo = 1){
    global $post;
    $post_ID = $post->ID;
    $views = (int)get_post_meta($post_ID, 'views', true);
    if($echo) echo $before, number_format($views), $after;
    else return $views;
}

上面的取得文章的阅读次数函数,还可以简化一下:

// 函数作用:取得文章的阅读次数
function post_views($before = '阅读(', $after = ')') {
    global $post;
    $post_ID = $post->ID;
    $views = (int) get_post_meta($post_ID, 'views', true);
    return $before . $views . $after;
}

在主题中需要显示的位置加入以下代码即可:

只显示浏览数:<?php post_views('', ''); ?>

显示为“查看XX次”:<?php post_views('查看', '次'); ?>