WordPress Version: 6.1
/**
* Prints out option HTML elements for role selectors.
*
* @since 2.1.0
*
* @param string $selected Slug for the role that should be already selected.
*/
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;
}