Функция wp_dropdown_roles()
в WordPress выводит HTML-теги <option>
для всех доступных ролей пользователей, которые можно использовать внутри элемента <select>
. Это удобно, если вам нужно предоставить пользователю выбор роли в административной части сайта или на фронтенде.
wp_dropdown_roles( string $selected = '' )
Функция выводит список всех доступных ролей WordPress, формируя их в виде элементов <option>
для использования внутри элемента <select>
. Вы можете задать роль, которая будет выбрана по умолчанию, передав её «slug» (ярлык) в параметр $selected
.
Параметры
- $selected (строка, необязательный) — Ярлык роли, которая будет выбрана по умолчанию в списке. Если параметр не задан, роль по умолчанию не будет выбрана.
Значение по умолчанию:''
(пустая строка).
Возвращаемое значение
Функция ничего не возвращает. Она напрямую выводит HTML-код на экран.
Особенности использования
Функция wp_dropdown_roles()
часто применяется в админ-панели WordPress, но может быть использована и на фронтенде. Однако, для корректной работы на фронтенде, необходимо подключить соответствующие файлы:
require_once ABSPATH . 'wp-admin/includes/user.php';
require_once ABSPATH . 'wp-admin/includes/template.php';
Пример 1: Базовое использование функции
Этот пример показывает, как создать выпадающий список всех ролей пользователей в WordPress:
echo '<select name="user_role">';
wp_dropdown_roles();
echo '</select>';
Этот код выведет список всех ролей WordPress, которые могут быть выбраны пользователем.
Пример 2: Указание выбранной роли по умолчанию
Если вы хотите, чтобы в выпадающем списке роль была выбрана по умолчанию, передайте соответствующий ярлык роли в параметр $selected
. Например, сделаем роль Editor (Редактор) выбранной по умолчанию:
echo '<select name="user_role">';
wp_dropdown_roles( 'editor' );
echo '</select>';
Результат: роль Editor будет выделена по умолчанию при загрузке страницы.
Пример 3: Использование в форме регистрации
Функция может быть использована в формах регистрации, чтобы предоставить пользователю возможность выбора роли:
if ( current_user_can( 'administrator' ) ) { // Только администратор может назначать роли
echo '<form method="post">';
echo '<label for="role">Выберите роль пользователя:</label>';
echo '<select id="role" name="user_role">';
wp_dropdown_roles();
echo '</select>';
echo '<input type="submit" value="Зарегистрировать">';
echo '</form>';
}
В этом примере администратору предоставляется возможность выбрать роль для нового пользователя.
Пример 4: Обработка выбранной роли после отправки формы
Этот пример показывает, как обработать выбранную роль при отправке формы:
if ( $_SERVER['REQUEST_METHOD'] == 'POST' ) {
$selected_role = $_POST['user_role'];
if ( ! empty( $selected_role ) ) {
echo "Вы выбрали роль: " . $selected_role;
} else {
echo "Роль не выбрана.";
}
}
echo '<form method="post">';
echo '<label for="role">Выберите роль пользователя:</label>';
echo '<select id="role" name="user_role">';
wp_dropdown_roles();
echo '</select>';
echo '<input type="submit" value="Подтвердить выбор">';
echo '</form>';
При отправке формы, выбранная роль будет обработана и выведена на экран.
Заключение
Функция wp_dropdown_roles()
— это удобный инструмент для создания выпадающих списков с ролями пользователей WordPress. Она особенно полезна для административных интерфейсов и других форм, где необходимо предоставить выбор ролей.