Ankerlink an den Anfang der Seite
garage 1030787 1920
Generic filters
Filter by Kategorien

Der Beitrag, geschriebem am 11. Mai 2016, ist schon etwas älter und könnte womöglich nicht mehr aktuell sein

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

Bitte das Kommentarfeld nicht für Supportanfragen nutzen; hier kann kein Support angeboten werden. Die Angabe von Name oder E-Mail-Adresse ist optional, ein Spitzname wäre trotzdem nett.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Hinweis: Name und E-Mail-Adresse (beides optional, da alle Kommentare moderiert werden) werden dauerhaft gespeichert. Über dieses Formular kann jeder Zeit die Löschung persönlicher Daten oder Kommentare angefordert werden; die Anfrage wird nicht veröffentlicht und nach der Bearbeitung gelöscht. IP-Adressen, die mit Kommentaren gespeichert werden, werden nach zwei Monaten automatisch gelöscht.

Ihre Nachricht wird möglicherweise zur Spam-Prüfung an OpenAI (USA) weitergeleitet. Weitere Informationen finden Sie in unserer Datenschutzerklärung.