最近在给用户开发主题的时候需要调用文章作者发布的所有文章的总浏览数量,WP默认是没有这个功能,于是只能自己动手写了一个,当然使用这个功能您需要先在主题中集成文章浏览数量统计代码或者使用wp-postviews这个插件来实现文章的浏览数量统计功能。
功能代码
- if(!function_exists(‘cx_posts_views’)) {
- function cx_posts_views($author_id = 1 ,$display = true) {
- global $wpdb;
- $sql = “SELECT SUM(meta_value+0) FROM $wpdb->posts left join $wpdb->postmeta on ($wpdb->posts.ID = $wpdb->postmeta.post_id) WHERE meta_key = ‘views’ AND post_author =$author_id”;
- $comment_views = intval($wpdb->get_var($sql));
- if($display) {
- echo number_format_i18n($comment_views);
- } else {
- return $comment_views;
- }
- }
- }
前台调用
在前端调用这段代码之前呢我们需要先获取一个文章作者的ID值:
- get_the_author_meta(‘ID’);
- $author_id = get_the_author_meta(‘ID’);
前台我们可以直接用:
- cx_posts_views(get_the_author_meta(‘ID’));
- $author_id = get_the_author_meta(‘ID’);
- cx_posts_views($author_id);
- $author_id = get_the_author_meta(‘ID’);
- $author_views = cx_posts_views($author_id,false);
- echo $author_views;
- $author_views = cx_posts_views(get_the_author_meta(‘ID’),false);
- echo $author_views;
代码解析
这段代码还是比较简单的,因为只需要列出指定作者的文章然后 用sql语法中的SUM()
去计算meta_value
字段所有值的总和即可。
地方三等份三等份
如何增加一个条件 增加一个分类的限制呢,统计某作者在某个分类下的文章阅读总量
收藏收藏慢慢学
学习来了,还是有点看不懂
很不错的知识,收藏啦