WordPress函数详解之Wp_list_authors

感谢Lia的投递,文章已经很久了,今天虽然今天发出来,但这确实是一篇值得看的文章。
wp_list_authors函数的作用是:列出所有作者和文章数量。

缺点是:但是不能按文章多少排序,以及不能够限制输出作者的个数。

扩展目的:

1. 输出文章最多的作者,并按文章数量排序;
2. 自定义输出作者的个数。

修改的内容:
1. 为 wp_list_authors 函数增加两个控制变量:limited 和 order

$defaults = array(
‘optioncount’ => false, ‘exclude_admin’ => true,
‘show_fullname’ => false, ‘hide_empty’ => true,
‘feed’ => ”, ‘feed_image’ => ”, ‘feed_type’ => ”, ‘echo’ => true,
‘limited’ => 5, ‘order’ => ‘DESC’
);

2. 重新构建查询语句

/** @todo Move select to get_authors(). */
$authors = $wpdb->get_results(“SELECT DISTINCT u.ID, u.user_nicename, COUNT( p.ID ) AS count from $wpdb->users AS u, $wpdb->posts AS p ” . ($exclude_admin ? “WHERE u.user_login <> ‘admin’ AND ” : ‘WHERE ‘) . “p.post_author = u.ID AND p.post_type = ‘post’ AND ( p.post_status = ‘publish’ OR p.post_status = ‘private’) GROUP BY p.post_author ORDER BY count ” . $order . “, display_name ASC” . ( ($limited >= 0) ? ( ‘ LIMIT ‘ . $limited ) : ”) );

wp_list_authors相关参数:
1. wp_list_authors 的默认参数:

optioncount
(boolean) 显示作者文章数。

* 1 (true)
* 0 (false – 默认)

exclude_admin
(boolean) 剔除admin。

* 1 (true – 默认)
* 0 (false)

show_fullname
(boolean) 显示作者全名。 默认显示作者昵称。

* 1 (true)
* 0 (false – 默认)

hide_empty
(boolean) 隐藏尚未发表文章的作者。

* 1 (true – 默认)
* 0 (false)

feed
(string) 链接到作者 RSS feed 的显示文字。默认不显示。
feed_image
(string) 链接到作者 RSS feed 的图片的目录和文件名。如果定义了 feed_image,将会覆盖 feed 定义的文字。

2. 扩展参数:

limit
(int) 输出作者数目。

* 5 ( 默认)
* 0 (显示全部作者)

order
(string) 排序方式。

* DESC (降序 – 默认)
* ASC (升序 – 显示最不活跃的作者)

用法:

您可以将 wp_list_authors 复制到主题文件的functions.php 中进行修改,并更换函数名称,比如:most_active_authors,在需要显示的位置调用这个函数就可以了。如:

显示文章最多的前10名作者、文章数量:

    < ?php most_active_authors('optioncount=1&limit=10'); ?>

显示前5名最不活跃的作者,不显示文章数量:

    < ?php most_active_authors('order=ASC'); ?>

说明:wp_list_authors 函数位于 wp-includes 目录下的 author-template.php 文件中。

Comments

11 responses to “WordPress函数详解之Wp_list_authors”

  1. 酋 长 Avatar

    我自己沙发!

  2. 免费空间 Avatar

    我来捧下场.

  3. Lia Avatar

    酋长:辐射鱼好早已经发布过了。

    1. 酋 长 Avatar

      汗,辐射鱼已经离开了,以后会注意这个问题。

      再学习一下。

  4. Lia Avatar

    后来又投了一篇《让 WordPress
    展示不同语言》(http://www.antlite.com/blog/2008/12/wordpress-multi-language/)一直没有消息。

    1. 酋 长 Avatar

      这个没看到,但稍后会发布。

  5. 3gp Avatar

    嗯,之前看过一个主题应该就是这样做的

  6. aunsen Avatar

    油长你的转换原版WP的教程呢?忘脚后跟了吧!

    1. 酋 长 Avatar

      忘记了。。
      很简单。。。

      中文版其实也就是wp-config.php里写了zh_CN,首先删除这个。然后找到相关文件。。删除。。即可。。

  7. […] WordPress函数详解之Wp_list_authors (9) […]

  8. […] 记得wp有关函数可以显示blog的所有用户,这个函数就是wp_list_authors(),他可以通过<li>列表的方式显示出所有的用户,可以链接到用户所发表的日志,还可以显示其日志总数,函数的具体使用可以到官方的Codex文档查看(请移步这里),当然通过搜索引擎搜索发现,也有其他朋友介绍过来这个函数,主要以Wopus中文博客平台介绍的比较详细(地址在这)这个函数是在wp-includes/author-template.php里面的,发现我们还可以进一步的细化这功能,以显示我们所需要的信息。 […]