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.11

    每日学习之:倍增你的学习力

    学习的动力、学习的毅力以及学习的能力,才是你…

  2. 没有图片

    2010.05.07

    学问 诗歌 男人 女人

    学问之美,在于使人一头雾水; 诗歌之美,在于…

  3. 没有图片

    2010.05.22

    Discuz! X1 首页显示论坛的修改方法

    解决了Discuz! X1 UC后台应用通讯…

  4. 没有图片

    2010.08.08

    WordPress 3.1将是PHP4和MySQL4的终结

    通过WordPress官方消息,WordPr…

  5. 没有图片

    2010.05.20

    月光论坛事件与国王的故事

    曾经有一个人,骂国王是笨蛋,后来他被抓起来交…

  6. 没有图片

    2011.05.27

    Gregarius安装错误和写入数据库乱码等问题的方法

    Gregarius官方网站: http://…

评论

  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上午

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

About

马拉松运动员,沉迷于跑步;关注科技前沿,关注互联网!与跑者、程序员、设计师为伍,一起跑步健身,一起编写程序,为自由而战!