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; ?>
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…