wp_dropdown_roles

The timeline below displays how wordpress function wp_dropdown_roles has changed across different WordPress versions. If a version is not listed, refer to the next available version below.

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

WordPress Version: 5.5

/**
 * Print 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;
}

WordPress Version: 5.4

/**
 * Print 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;
}

WordPress Version: 4.8

/**
 * Print 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;
}

WordPress Version: 4.2

/**
 * Print 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 = '')
{
    $p = '';
    $r = '';
    $editable_roles = array_reverse(get_editable_roles());
    foreach ($editable_roles as $role => $details) {
        $name = translate_user_role($details['name']);
        if ($selected == $role) {
            // preselect specified role
            $p = "\n\t<option selected='selected' value='" . esc_attr($role) . "'>{$name}</option>";
        } else {
            $r .= "\n\t<option value='" . esc_attr($role) . "'>{$name}</option>";
        }
    }
    echo $p . $r;
}

WordPress Version: 4.1

/**
 * Print 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 = false)
{
    $p = '';
    $r = '';
    $editable_roles = array_reverse(get_editable_roles());
    foreach ($editable_roles as $role => $details) {
        $name = translate_user_role($details['name']);
        if ($selected == $role) {
            // preselect specified role
            $p = "\n\t<option selected='selected' value='" . esc_attr($role) . "'>{$name}</option>";
        } else {
            $r .= "\n\t<option value='" . esc_attr($role) . "'>{$name}</option>";
        }
    }
    echo $p . $r;
}

WordPress Version: 3.7

/**
 * Print 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 = false)
{
    $p = '';
    $r = '';
    $editable_roles = array_reverse(get_editable_roles());
    foreach ($editable_roles as $role => $details) {
        $name = translate_user_role($details['name']);
        if ($selected == $role) {
            // preselect specified role
            $p = "\n\t<option selected='selected' value='" . esc_attr($role) . "'>{$name}</option>";
        } else {
            $r .= "\n\t<option value='" . esc_attr($role) . "'>{$name}</option>";
        }
    }
    echo $p . $r;
}