wordpress用代码实现浏览统计
申明,本人不喜欢用插件去实现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('查看', '次'); ?>