WordPress作者调用标签 wp_list_authors 使用教程

一个多作者的WordPress博客,有时需要展示作者列表,并进行适当的排序操作,下面是一些具体的方法,仅供参考:

需要扩展的功能

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 ) : ”) );

参数:

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名作者、文章数量:

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

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

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

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

思章老师

认准了方向,就要勇敢地走下去,十年磨一剑,我相信,只要坚持,一切都有可能。

相关日志

  1. 没有图片

    2011.01.05

    WordPress 模板作者相关函数

    the_author 显示文章的作者 the…

  2. 没有图片

    2012.12.28

    美国女生给我的六个惊诧(转)

    此文章转自QQ群里关心中国未来、中国教育的网…

  3. 没有图片

    2010.11.18

    好久没灌水了,睡前灌倒新铭志,哈!

    本来打算睡觉的,结果Gmail弹出消息,说我…

  4. 没有图片

    2011.01.07

    WordPress 作者头像调用方法

    WordPress作者头像调用有很多种方法,…

  5. 没有图片

    2010.05.18

    百度、谷歌与《奇迹的黄昏》

    今天忙完,看到博客上本·赫利斯同学的留言,才…

  6. 没有图片

    2010.10.08

    谷歌新Logo 纪念约翰·列侬诞辰

    谷歌今日放出了纪念The Beatles(甲…

评论

  1. 侯永禄 2013.08.04 12:23下午

    请问,我给作者增加了一个值(author_meta),然后我想按照这个值的大小进行排列,应该怎么做?谢谢。

  2. heasily 2012.12.29 4:34下午

    2. 重新构建查询语句 这段语句在哪里加?

    • 落花生 2012.12.29 6:51下午

      直接加到页面里或者加到functions.php文件都可以。。。

  3. 有创意吧 2012.12.28 11:40下午

    你好, 博主.你那个微博地址怎么加的? 每个作者都可以加么?

    • 落花生 2012.12.29 9:29上午

      这个是针对网站的,不针对作者。不过这个也好设置的啊。