
目次
wp_dropdown_users()の用途
wp_dropdown_users() は、WordPressでユーザー一覧を <select>(ドロップダウン)形式で表示するための関数です。投稿者の絞り込み、ユーザー選択フォーム、管理画面外での投稿者変更UIなどに使われます。
wp_dropdown_users()の基本構文
wp_dropdown_users( $args );$argsは引数の配列で、選択肢の並び方やフィルター条件、出力方法などを指定します。
wp_dropdown_users()の主な用途
- 投稿フォームやカスタムフォームでユーザーを選択させたい場合
- 管理画面以外で投稿者の選択UIを作るとき
- ユーザー情報を使ってフィルターや切り替えを行うとき
wp_dropdown_users()のよく使う引数一覧($args)
| パラメータ | 型 | 説明 |
|---|---|---|
name | 文字列 | <select>タグの name 属性。デフォルトは 'user' |
id | 文字列 | <select>タグの id 属性 |
class | 文字列 | クラス属性(class)を追加 |
selected | 数値 | 初期選択されるユーザーID |
include | 配列・文字列 | 表示するユーザーIDを絞り込む(例:array(2,4,6)) |
exclude | 配列・文字列 | 除外するユーザーID |
role | 文字列 | 指定したロールのユーザーのみを表示(例:'editor') |
who | 文字列 | 'authors' を指定すると投稿者権限を持つユーザーに限定 |
show_option_all | 文字列 | 最上部に「全て」の選択肢を追加 |
show_option_none | 文字列 | 最上部に「なし」の選択肢を追加 |
echo | 真偽値 | trueなら出力、falseなら返す。デフォルトは true |
orderby | 文字列 | 並び替えの基準(例:'display_name', 'user_login') |
order | 文字列 | 'ASC' または 'DESC' |
wp_dropdown_users()のシンプルな使用例
<?php wp_dropdown_users(); ?>上記で、全ユーザーの表示名(display_name)がドロップダウンとして表示されます。
wp_dropdown_users()の投稿者選択UIを作成する例
<?php
wp_dropdown_users( array(
'name' => 'post_author',
'selected' => get_current_user_id(),
'role' => 'author',
'show_option_none' => '— 投稿者を選択 —'
) );
?>echo を false にしてHTMLとして取得する例
<?php
$dropdown = wp_dropdown_users( array(
'name' => 'custom_user',
'echo' => false,
'role' => 'subscriber',
'class' => 'form-control'
) );
echo '<label for="custom_user">担当者選択:</label>';
echo $dropdown;
?>wp_dropdown_users()の投稿フォームに組み込むカスタム例
<form method="post" action="">
<label for="user_select">投稿者を選択:</label>
<?php
wp_dropdown_users( array(
'name' => 'user_select',
'id' => 'user_select',
'show_option_none' => '選択してください',
'who' => 'authors',
'selected' => get_current_user_id()
) );
?>
<input type="submit" value="送信">
</form>wp_dropdown_users()の注意点
who => 'authors'を指定すると、「投稿権限(投稿者以上)」を持つユーザーのみを対象にできます。echo => falseにしないと、返り値として受け取れずechoで直接出力されるので、レイアウト制御がしづらくなります。- 標準では
user_loginやdisplay_nameが表示に使われますが、フィルターを使えば変更可能です。
wp_dropdown_users()のまとめ
| 特徴 | 内容 |
|---|---|
| 目的 | ユーザー選択ドロップダウンの生成 |
| 出力 | HTML <select> タグ |
| 使用例 | 投稿者の選択、管理者向けユーザー切替、フォームのユーザー選択 |
| カスタマイズ性 | 引数で柔軟に制御可能(role、include、selected など) |