为 WordPress 主题添加阅读统计的功能
今天为星际 2 战术资源站和本博客的主题添加了一个阅读统计的功能,效果如下图:
我是采用子主题的方式,在子主题中添加 functions.php 文件,在里面加入下面两个函数:
<?php
/* 访问计数 */
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');
/* 取得文章的阅读次数 */
function post_views($echo = 1)
{
global $post;
$post_ID = $post->ID;
$views = (int)get_post_meta($post_ID, 'views', true);
if ($echo) return '阅读:'. number_format($views). '次';
else return $views;
}
?>
这段代码是网上找的,不过我进行了一些小修改,原先它返回是用的 echo,会导致显示效果的问题,而是用 return 就没有问题,之前检查了半天才发现这个问题。
然后在需要输出阅读次数的地方调用post_views()
就可以了。不同的主题调用的地方和方法有些不一样,这个需要大家自己调试才行。
评论区