
目次
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 など) |