Coding | PHP | Settings API | WordPress

WordPress: einfaches Userroles-Array für Rollenauswahl in Einstellungen

garage 1030787 1920

Um die Sichtbarkeitseinstellungen nur für angemeldete Benutzer zugänglicher Elemente zu steuern benötigte ich ein Formularfeld aus dem eine WordPress-Rolle gewählt werden kann. Dafür genügt ein einfaches Array mit dem Slug der Rolle und dem (übersetzten) Namen. Die Rolle ist der Schlüssel, der Name der Rolle der Wert.

function ppt_helper_roles_array() {
     global $wp_roles;
     foreach ( $wp_roles->roles as $role => $details ) {
         $roles[$role] = $details['name'];
     }
     return $roles;
}
Array ( 
    [administrator] => Administrator 
    [editor] => Editor 
    [author] => Author 
    [contributor] => Contributor 
    [subscriber] => Subscriber 
)

Anwendungsbeispiel

$options = get_option('settings_group');
echo '<select name="settings_group[role_setting]">';
foreach ( ppt_helper_roles_array() as $role => $label ) {
    echo '<option '.( $role == $options['role_setting'] ? 'selected="selected"' : '' ).' value="'.esc_attr($role).'">' . esc_html($label) . '</option>';
}
echo '</select>';

weiter schmökern

Schreibe einen Kommentar

Bitte Kommentarfunktion nicht für Supportanfragen nutzen. Dem kann hier nicht entsprochen werden.

Deine E-Mail-Adresse wird nicht veröffentlicht.