如何从wp_list_Authors中排除特定作者

时间:2010-10-07 作者:Paul Sheldrake

我想让作者像往常一样从wp_list_authors() 但我知道有几个我也想从名单中排除。有办法吗?

谢谢

4 个回复
最合适的回答,由SO网友:Kelvin Castelino 整理而成

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\' ]);

SO网友:Jan Fabry

看来wp_list_authors does not have any filters, 也没有get_users_of_blog, 它用于获取用户列表的函数。因此,您要么自己使用regex并替换输出,要么使用额外的参数创建一个类似的函数来指定要排除的作者。它不太大,而且大部分代码都用于处理选项,因此不会有太多重复。

你可以随时投票支持the existing Trac ticket to get an exclude parameter added 在未来版本中!

SO网友:eppand

我使用以下代码在页面模板中包含来自作者(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>\';
                }
              }
            }
            ?>

SO网友:moettinger

由于没有自定义函数似乎无法做到这一点,因此可以使用jQuery查找它们的名称,并在生成列表后隐藏它们。类似这样:

$(\'ul.author_list li:contains("John")\').remove();
我还发现了一个插件可以为您做到这一点:List Authors Plus

结束

相关推荐