WordPress: get_currentuserinfo
Ich benötigte eine Funktion, die es mir ermöglicht, Elemente nur für bestimmte Besucher anzuzeigen. Die Lösung dafür ist die Funktion get_currentuserinfo()
< ?php global $user_ID;
get_currentuserinfo();
if ('2' == $user_ID) { ?>
... Hier das, was ausgegeben werden soll ...
< ?php }?>
Mit dieser Funktion kann man z.B. nach der ID des angemeldeten Users fragen und so z.B. nur bestimmten Usern Elemente in der Sidebar anzeigen.
Genau so könnte man nur nicht angemeldeten Benutzern Werbung anzeigen lassen oder nur angemeldeten Benutzern bestimmte Funktionen zur Verfügung stellen.
Popularity: 1%
Werbung
2007-10-25 - 10.59 am
Hi,
danke für diese kurze Anleitung. So etwas in der Art habe ich gesucht. Mein Problem ist allerdings folgendes:
Ich möchte, dass nur registrierte User die Möglichkeit haben, gewisse Bereiche einzusehen. Quasi haben alle registrierten User die gleiche Möglichkeit. Unregistrierte User können halt gewisse Infos nicht abfragen. Wie lässt sich dieses Problem lösen?
Sicher könnte ich jetzt sämtliche user-IDs in Deinem code auflisten, aber meine registrierten User werden von Tag zu Tag mehr und demnach müsste ich jedesmal, die index.php, archive.php, search.php und die single.php meines templates um einen user erweitern. Vielleicht gibt es aber auch die Möglichkeit dem System begreiflich zu machen, dass alle User (beispielsweise) von 1 – 1000 in dem code von Anfang an aufgeführt werden. Das hiesse dann, dass die Neuregistrierungen automatisch in die “versteckten” Bereiche gelangen können.
Wie liesse sich denn so eine Aufzählung von 1 – 1000 realisieren? Ich kann schlecht: 1,2,3,4,5, etc. schreiben.;-)
Leider gibt die WordPress-Doku zu diesem Thema nur sehr spartanische Infos weiter.
Grüße
Mario
2007-10-25 - 11.06 am
Hm, vielleicht anders herum?
-> Also
if (” == $user_ID) {
//no user logged in
}
2007-10-25 - 11.18 am
Hi, das habe ich auch schon versucht, leider aber vergebens. Ich glaube, ich werde wirklich jeden einzelnen User von Hand einfügen müssen. grins Ist natürlich sehr lästig und umfangreich. Kann man wenigstens Zahlen zusammenfassen, sprich 1 – 50 oder 1 – 100, anstatt jede einzelne ID zu erfassen?
Grüße
Mario
2007-10-25 - 11.20 am
Ich würde vorher noch suchen, ob es die Möglichkeit gibt, nach einer Gruppe zu filtern…
2007-10-25 - 11.23 am
Das habe ich auch schon versucht. Anfangs dachte ich, ich wäre auf dem richtigen Weg mit den userleveln. Aber später stellte sich heraus, dass ich da einem grossen Irrtum unterlag. Ich ging davon aus, dass registrierte Leser mindestens userlevel 1 haben, dabei haben diese userlevel 0. Das heisst im Klartext, dass unregistrierte User überhaupt kein userlevel besitzen. So gesehen kann man sie über diesen Weg auch nicht ansprechen.
2007-10-25 - 11.23 am
Hallo danke für diese Zusammenstellung ist es damit eigentlich auch Möglich Usern die über bestimmt Suchbegriffe meinen WP Blog betreben sepperate Werbung anzuzeigen um so z.B. einige Besucher Ströme besser vermarkten zu können?
2007-10-25 - 11.27 am
Ich denke schon, dass das möglich sein sollte. Wie gesagt, ist dieser Befehl sehr interessant. Leider versteckt sich die wordpress-Doku gerade in diesem Bereich unter dem Mantel des Schweigens. Es wird zwar etwas darüber geschrieben, aber die Infos sind doch sehr spärlich.
Hier ist mein code für die Vorgehensweise in Bezug auf die Userlevel:
user_level>=0) { ?>
HTML….
Das führte aber dazu, dass unregistrierte User immer noch die Möglichkeit hatten, die Infos, die sie eigentlich nicht mehr sehen sollten, zu sehen.
2007-10-25 - 11.29 am
Sorry, irgendwas ist beim Kopieren des codes falschgelaufen. Hier ist er noch einmal:
2007-10-25 - 12.09 pm
Ich habe jetzt hier noch was interessantes gefunden. Das ist genau das, was ich möchte, nur halt anderes herum:
http://www.im-web-gefunden.de/.....loggt-ist/
2007-10-25 - 12.15 pm
Da solte eigentlich folgendes gehen:
2007-10-25 - 12.59 pm
Hallo Thomas,
danke für Deine Hilfe. Genau das war es. Es muss lediglich das Ausrufezeichen weggelassen werden.
Grüße
Mario
2007-10-25 - 1.05 pm
Immer gerne ;-)