WordPress – Benutzerabhängige Ausgabe in Templates

Das Berechtigungssystem bei WordPress kann zum Ein- oder Ausblenden bestimmter Elemente im Template verwendet werden. Den angemeldeten Benutzern die Werbung zu verstecken und dem Admin aus den Statistiken auszunehmen sind nur zwei mögliche Szenarien. WordPress bietet hierfür ein recht simples aber dennoch ausreichendes Rollenkonzept.

Mit der Funktion current_user_can() und dem entsprechenden Level als Übergabeparameter ist dies schnell erledigt.

Rolle level_
Abonnent 0
Mitarbeiter 0 bis 1
Autor 0 bis 4
Redakteur 0 bis 7
Administrator 0 bis 10

Anhand dreier Beispiele möchte ich zeigen wie einfach das geht.

Bsp. 1) Werbung nur den nicht angemeldeten Besuchern anzeigen

<?php if( !current_user_can('level_0') ) : ?>
<!-- nur für Gäste sichtbar -->
Hier kommt die Werbung rein
<?php else : ?>
<!-- nur für angemeldete Benutzer sichtbar -->
[WERBUNG AUSGEBLENDET]
<?php endif; ?>

Bsp. 2) Admins und Redakteure nicht in die Statistik einbeziehen

<?php if( !current_user_can('level_7') ) : ?>
<!-- für Admins und Redakteure versteckt -->
Hier muss der Code für z.B. Google Analytics
oder Piwik rein
<?php endif; ?>

Bsp. 3) Nur Admins sehen die Tag-Liste

<?php if( !current_user_can('level_10') ) : ?>
<!-- Nur für Admins sichtbar -->
<?php the_tags('Tags:', ', ', '<br />'); ?>
<?php endif; ?>

Kommentare

2 Kommentare zu “WordPress – Benutzerabhängige Ausgabe in Templates”

  1. Fabian am Juni 12th, 2009 00:28

    Danke. Deine Idee hat mir natürlich sehr geholfen.
    Bei dem zweiten Beispiel müsste aber ein “Nicht” vor die Bedingung.

    Gruß Fabian

  2. Sven am Juni 12th, 2009 09:04

    Stimmt, vielen Dank – ist korrigiert.
    Das Ausrufezeichen ist wohl beim formatieren/anpassen abhanden gekommen, denn ich hab’s richtig bei mir im Blog im Betrieb :-)

Schreibe einen Kommentar