技术

为WordPress主题添加阅读统计的功能

为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()就可以了。不同的主题调用的地方和方法有些不一样,这个需要大家自己调试才行。

您已成功订阅 HADB.ME
真棒!下一步,完成结账以便解锁 HADB.ME
欢迎回来!您已登录成功。
登录失败,请重试。
操作成功!您的账户已全面激活,现在您有所有内容的权限了。
错误!Stripe 结账失败。
成功!您的账单信息已更新。
错误!账单信息更新失败。