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

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; }
Code-Sprache: PHP (php)
Array ( [administrator] => Administrator [editor] => Editor [author] => Author [contributor] => Contributor [subscriber] => Subscriber )
Code-Sprache: PHP (php)

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>';
Code-Sprache: PHP (php)

Schreibe einen Kommentar

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