web-dev-qa-db-ja.com

Wp_list_authorsから特定の作者を除外するにはどうすればよいですか

私はwp_list_authors()からいつものように作者をリストしてもらいたいのですが、リストから除外したいものが2、3あることを私は知っています。それをする方法はありますか?

ありがとう

1
Paul Sheldrake

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

wp_list_authorsにはフィルタ もなく、またユーザーリストを取得するために使用する関数も get_users_of_blog にはありません。そのため、自分で出力を正規表現で置き換えるか、除外する作者を指定するための追加のパラメータを持つ同様の関数を作成する必要があります。大きすぎず、ほとんどのコードはオプションの処理に費やされているので、それほど重複しません。

あなたはいつでも 既存のTracチケットに投票して、将来のバージョンでexcludeパラメータを 追加することができます!

3
Jan Fabry

以下のコードを使用して、ページテンプレートに作成者(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>';
                }
              }
            }
            ?>
1
eppand

カスタム関数なしでこれを行う方法はないように思われるので、jQueryを使ってそれらの名前を見つけ、リストが生成された後にそれらを隠すことができます。このようなもの:

$('ul.author_list li:contains("John")').remove();

私はまたあなたのためにこれを行うことができるプラグインを見つけました: List Authors Plus

0
moettinger