在做zblog模板的时候在文章页面会加上浏览量,zblog官方模板标签就有这个代码。
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);
这样就实现了wordpress不用插件来显示文章浏览量的功能了。
还有一个更简单的代码分享给大家:
//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');
加入到主题functions模版文件中,
直接调用<?php get_post_views($post -> ID); ?> views 到文章页面即可。