wordpress不用插件只用代码实现文章浏览量的两种方法

wordpress默认是不显示文章的浏览量(点击量)的,如果需要这个功能,可以安装插件WP-PostViews来实现,也可以用代码来实现。
下面主要是介绍两种不用插件只用代码实现文章浏览量的两种方法

第一种方法比较简单,找到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');

直接将下面的代码放到文章页面循环代码内即可

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

第二种方法:找到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');
return0 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'100;

发表评论