我想让作者像往常一样从wp_list_authors()
但我知道有几个我也想从名单中排除。有办法吗?
谢谢
我想让作者像往常一样从wp_list_authors()
但我知道有几个我也想从名单中排除。有办法吗?
谢谢
wp_list_authors()
现在确实有exclude
参数因此,您可以根据用户ID排除所需的作者。
它接受:
要包含的作者ID的数组、逗号或空格分隔列表。默认为空。
示例:
// exclude just the author with the ID 4
wp_list_authors([ \'exclude\' => 4 ]);
// exclude the authors with the IDs 4 and 7
wp_list_authors([ \'exclude\' => [ 4, 7 ] ]);
// or
wp_list_authors([ \'exclude\' => \'4, 7\' ]);
看来wp_list_authors
does not have any filters, 也没有get_users_of_blog
, 它用于获取用户列表的函数。因此,您要么自己使用regex并替换输出,要么使用额外的参数创建一个类似的函数来指定要排除的作者。它不太大,而且大部分代码都用于处理选项,因此不会有太多重复。
你可以随时投票支持the existing Trac ticket to get an exclude
parameter added 在未来版本中!
我使用以下代码在页面模板中包含来自作者(WordPress用户)的信息。可以反过来排除作者。
<?php
//display selected users
$userids_to_display = array(4,221,22,3,5,9,235,236,250); // wordpress user IDs to include
$blogusers = get_users_of_blog();
if ($blogusers) {
foreach ($blogusers as $bloguser) {
if ( in_array($bloguser->user_id, $userids_to_display) ) {
$user = get_userdata($bloguser->user_id);
echo \'<div>\';
echo \'<div class="alignleft">\'.get_avatar($user->ID).\'</div>\';
echo \'<div class="user-data"><h3>\' . $user->user_firstname . \' \' . $user->user_lastname . \'</h3>\';
echo \'<div class="author-description">\'.$user->description.\'</div>\';
echo \'</div>\';
}
}
}
?>
由于没有自定义函数似乎无法做到这一点,因此可以使用jQuery查找它们的名称,并在生成列表后隐藏它们。类似这样:
$(\'ul.author_list li:contains("John")\').remove();
我还发现了一个插件可以为您做到这一点:List Authors Plus