Ausgabe in Abhängigkeit vom Userlevel
WordPress bietet ja verschiedene Userlevel, vom einfachen Abonnenten (Level 0) bis zum Boss-Administrator (Level 10). Im Template kann man diese Userlevel auch abfragen und Inhalte in Anhängigkeit davon darstellen.
In folgendem Codebeispiel wird der Text “Hallo Admin.” nur für Benutzer mit dem Level 10 ausgegeben:
<?php if( current_user_can('level_10') ) : ?>
Hallo Admin.
<?php endif; ?>
Oder mit alternativer Ausgabe für “Nicht-Admins”:
<?php if( current_user_can('level_10') ) : ?>
Hallo Admin.
<?php } else { ?>
Hallo Nicht-Admin.
<?php endif; ?>
Tags: current_user_can, Templates, Userlevel
4 Kommentare zu
“Ausgabe in Abhängigkeit vom Userlevel”
Dein Kommentar:
Suche
Blog abonnieren
Letzte Artikel
- WordPress 3.2 veröffentlicht
- WordCamp 2011 in Köln
- WPToolbox auf Facebook
- Links im Aktivitätsstream von BuddyPress entfernen
- WordPress 3.0.4 schließt kritische Sicherheitslücke
- Sicherheitsupdate WordPress 3.0.2 draußen
- Originalbilder nach Upload automatisch verkleinern
- Miniaturbild für das Posten von Links bei Facebook festlegen
- Artikel- und Seitentitel ohne Leerzeichen ausgeben
- Import von WordPress-Links
- WordPress Core-Plugins für den Import von Inhalten
Kommentare
- Jurek bei Kommentar-Reihenfolge umdrehen
- Tom bei Performance-Tuning via .htaccess und mod_deflate
- Vitaliy bei Performance-Tuning via .htaccess und mod_deflate
- Andy bei Performance-Tuning via .htaccess und mod_deflate
- tgngoc bei Memory Limit erhöhen und PHP5 aktivieren
Kategorien
- Allgemein (47)
- Browserspezifisches (4)
- BuddyPress (22)
- Konfiguration (20)
- Off-Topic (9)
- Performance-Optimierung (9)
- Plugins (37)
- Templateprogrammierung (37)
- Twitter (4)
Hierzu ist anzumerken, dass die WordPress-Entwickler diese Userlevel nicht weiter aktiv unterstützen und von der Nutzung abraten.
Stattdessen sollten Berechtigungen genutzt werden. Das obige Beispiel wird dadurch (z.B.) zu:
<?php if( current_user_can(‘manage_options’) ) : ?>
Hallo Admin.
<?php } else { ?>
Hallo Nicht-Admin.
<?php endif; ?>
Die Möglichkeit der user_level sollte nicht genutzt werden, sie ist seit 2.1 veraltet und ab 3.0 nicht mehr zulässig, läuft dann auf Error! Es sollten Objekte der Berechtigung verwendet werden:
if ( current_user_can('manage_options') )Danke für den Tipp, Männer! Konnte ja nicht ahnen, dass ich so einen “Proteststurm” lostrete.
Schönen Abend noch!
Tom
schade … ich find die lösung über level recht elegant: aber wenn meine vorredner recht haben dann isses eher blöd. ausprobieren werd ich das trotzdem…