wp_dropdown_roles()
Print out <option> html elements for all user roles, for <select> element.
If you use this function on frontend, include the following files:
require_once ABSPATH . 'wp-admin/includes/user.php'; require_once ABSPATH . 'wp-admin/includes/template.php';
Uses: get_editable_roles()
No Hooks.
Returns
null. Nothing (null).
Usage
wp_dropdown_roles( $selected, $editable_roles );
- $selected(string)
- Slug for the role that should be already selected.
Default:'' - $editable_roles(array)
- Array of roles to include in the dropdown.
Default:all roles the current user is allowed to edit
Examples
#1 Output roles select drop-down list for the user of the form
//require_once ABSPATH . 'wp-admin/includes/user.php'; //require_once ABSPATH . 'wp-admin/includes/template.php'; echo '<select name="foo">'; wp_dropdown_roles(); echo '</select>';
Changelog
| Since 2.1.0 | Introduced. |
| Since 7.0.0 | Added $editable_roles parameter. |
wp_dropdown_roles() wp dropdown roles code WP 7.0
function wp_dropdown_roles( $selected = '', $editable_roles = null ) {
$r = '';
if ( null === $editable_roles ) {
$editable_roles = array_reverse( get_editable_roles() );
}
foreach ( $editable_roles as $role => $details ) {
$name = translate_user_role( $details['name'] );
// Preselect specified role.
if ( $selected === $role ) {
$r .= "\n\t<option selected='selected' value='" . esc_attr( $role ) . "'>$name</option>";
} else {
$r .= "\n\t<option value='" . esc_attr( $role ) . "'>$name</option>";
}
}
echo $r;
}