wp_dropdown_roles()WP 2.1.0

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';

No Hooks.

Return

null. Nothing (null).

Usage

wp_dropdown_roles( $selected );
$selected(string)
Slug for the role that should be already selected.
Default: ''

Examples

0

#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.

wp_dropdown_roles() code WP 6.4.3

function wp_dropdown_roles( $selected = '' ) {
	$r = '';

	$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;
}