wp_list_authors ()默认参数值
false,'exclude_admin' => true,'show_fullname' => false,'hide_empty' => true,'echo' => true,'feed' => ,'feed_image' => ,'style' => list,'html' => ); ?>
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 定义的文字。
""右边栏作者列表的调用
扩展功能:
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');
重新构建查询语句
/** @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 ) : '') );扩展参数: limit(int) 输出作者数目。 5 ( 默认) 0 (显示全部作者)
order(string) 排序方式。 DESC (降序 – 默认) ASC (升序 – 显示最不活跃的作者)
用法:
您可以将 wp_list_authors 复制到主题文件的functions.php 中进行修改,并更换函数名称,比如:most_active_authors,在需要显示的位置调用这个函数就可以了。如:显示文章最多的前10名作者、文章数量:
显示前5名最不活跃的作者,不显示文章数量:
附:模板标签函数the_author_meta
<?php the_author_meta( $field, $userID ); ?>
//参数说明 //$field(字符串)将要显示的用户信息的字段名称(这些在数据库中都可以找到)。常用到的有: user_login(用户登录名) user_pass(用户登录密码) user_nicename(用户昵称) user_email(用户邮箱地址) user_url(用户网站地址) user_registered(用户注册时间) user_status(用户状态) display_name(作者显示的名称) nickname(作者昵称) first_name(作者名字) last_name(作者姓氏) description(作者描述) user_level(用户等级) user_firstname(用户名字) user_lastname(用户姓氏) user_description(用户描述) ID(用户ID值)应用实例
<?php echo the_author_meta( 'description' ); ?>//获取作者的描述内容
<?php echo the_author_meta( 'user_email' ); ?>//获取作者的邮箱地址
注意事项
该函数如果在文章主循环(Loop)中,则不必指定作者的ID值,标签所显示的就是当前文章作者的内容。如果在主循环(Loop)外,则需要指定用户ID值。获取信息的函数 另一个函数get_the_author_meta()。
<?php get_the_author_meta( $field, $userID ); ?>
该函数的参数和上面提到的函数有很多共通之处。根据英文名字也容易明白参数含义 $field (string) Field name for the data item to be returned. Valid values: user_login user_pass user_nicename user_email user_url user_registered user_activation_key user_status display_name nickname first_name last_name description jabber aim yim user_level user_firstname user_lastname user_description rich_editing comment_shortcuts admin_color plugins_per_page plugins_last_view ID$userID
(integer) If a user ID is passed to the function, it will return data for the specified