2012.04.03 21:07 Update:Bolo说 count_user_posts($user_id) 这个好,the_author_posts() 也是调用 count_user_posts($user_id)。
2012.03.28 19:17 Update:彻底囧了,博友真强大,看我一发布此文章,独自流浪童鞋就给了我答案:the_author_posts(),那么这篇文章就没啥意义了,不过不删,保留囧记录。
---------------------------------------
不知道是我菜还是折腾晕了,我竟然找不到实现“获取某作者的文章数”的 WordPress 内置函数,因为急着要用,所以就自己山寨了一个函数……
记录一下,如果 WordPress 本身有这类函数实现的话,请知道的朋友评论告知。
函数名我用中国式英语“number of author's posts”来命名的:num_of_author_posts()
我使用 WP_Query() 函数来实现,方法很原始,用循环获取数量 - - 高手别鄙视我。
函数代码如下:(放在主题的 functions.php 文件里面)
/* number of author's posts by zwwooooo | zww.me */ function num_of_author_posts($authorID=''){ //根据作者ID获取该作者的文章数量 if ($authorID) { $author_query = new WP_Query( 'posts_per_page=-1&author='.$authorID ); $i=0; while ($author_query->have_posts()) : $author_query->the_post(); ++$i; endwhile; wp_reset_postdata(); return $i; } return false; }
调用方法:
<?php echo num_of_author_posts($authorID); ?>
说明:$authorID 获取方法就很多了,各个页面获取方式不同,自行研究,一般就这几个函数 get_the_author_meta(), get_userdata() ... 具体去 WordPress 官方查看(直接在 Google 搜函数名就行了)
效果:
折腾玩(完)。
zww
赏
oooo
or
- 本文标题:WordPress: 获取某作者的文章数
- 本文链接:https://zww.me/archives/25596
- 发布时间:2012年03月28日 10:18
- 版权声明:除非注明,文章均为 zwwooooo 原创,转载请以链接形式标明本文地址!
沙发
呃...路过...
用这个函数
http://codex.wordpress.org/Function_Reference/the_author_posts
@独自流浪
赞
@独自流浪
囧~我竟然没找到,可能太急了,感谢提醒,文中已加。
前排围观
只有一个作者,看总数就行了
@Louis Han
问题是对方就是多用户博客 。
我现在就一个作者,呵呵
@软件盒子
一个作者的就不用考虑了。
请问在不同主题方法通吃吗?
@airoschou
这是函数,跟主题无关。
以前根据文章号判断z大起码谢了200篇文章。。后来发现原来不是从1#开始的。。
@Dick_Wu
我的ID都几万了,按照ID号你也应该判断为2万篇以上。况且我的文章也不止200多篇,现在都692篇了。
willin kan 为啥关闭了,你懂得
@keene
不懂,只知道他不玩wp了,谨此而已。
看不懂了,看不懂
我就一个管理员 用不到了
O(∩_∩)O哈哈~ 自己练练数据库也是不错的,the_author_posts()的实现方式也许就像你写的呢。。。
@一阵风
呵呵,我这方法囧了
现在用不着,以后搞不好又会百度到这。
@咚门
哈,有专门函数,我这文章囧了
哈哈哈哈,zww大叔也有囧的时候
@星铃丹
人嘛,谁没囧过?
回复框好个性啊。。。。。
@yesureadmin
无聊玩玩
一个作者撸过
@suN
撸好~
这个很好
@漏网小鱼
有专门函数,Orz
看了第一行后,觉得你折腾的精神值得学习
@huangjun
哈哈,折腾后才发现有更方便的方法
这个方法效率比较低,而且比较耗内存,在某些情况下还会影响后面的程序。用count_user_posts($user_id)吧
@Bolo
the_author_posts()呢?
@zwwooooo
the_author_posts() 实际上就是返回count_user_posts($user_id)的结果
好吧~~wp强大的函数。
话说右边的留言框里的百度广告...有些...你看了就知道了。
@JamieSoung
忽视吧,我是避免重复加载而已。