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

4 Gedanken zu „Ausgabe in Abhängigkeit vom Userlevel“

  1. 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; ?>

  2. 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') )

  3. 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…

Schreibe einen Kommentar