Zurück   WordPress Deutschland Forum > Support > Plugins und Widgets

Antwort
 
Themen-Optionen Ansicht
Alt 25.01.2007, 18:32   #1 (permalink)
PostRank: 0
 
Registriert seit: 25.01.2007
Beiträge: 6
WP 2.1.: function get_currentuserinfo

Bei meinem Plugin, das unter WP 2.0.7 einwandfrei funktioniert hab ich folgendes Problem. Ich verwende zum Zugriff die Funktion get_currentuserinfo() und zwar die Variable $user_level. In WP 2.1. ist $user_level leer.

Wie kann ich von einem current_user in WP 2.1. den Userlevel am besten als int zwischen 0 und 10 auslesen?

(ich glaub aus genau dem Grund funkt mygallery auch bei mir nicht mehr)

Link zur Funktion: http://codex.wordpress.org/get_currentuserinfo
PixelRay ist offline   Mit Zitat antworten
Alt 25.01.2007, 18:40   #2 (permalink)
PostRank: 10
 
Benutzerbild von mastermind
 
Registriert seit: 13.12.2005
Ort: Aachen
Beiträge: 2.078
Könntest Du bitte den Quellcode Deines Plugins hier posten oder zumindest den relevanten Abschnitt?
__________________
Plugins!
mastermind ist offline   Mit Zitat antworten
Alt 25.01.2007, 18:50   #3 (permalink)
PostRank: 0
 
Registriert seit: 25.01.2007
Beiträge: 6
PHP-Code:
get_currentuserinfo();
if(
$user_level 1) {
    return;

Mit anderen Worten beendet er immer die Methode, weil eben $user_level nicht initialisiert wurde...
PixelRay ist offline   Mit Zitat antworten
Alt 25.01.2007, 19:18   #4 (permalink)
fym
PostRank: 4
 
Registriert seit: 04.01.2005
Beiträge: 163
$userdata bzw. die einzelnen "Attribute" müssen globalisiert werden, da die (Rückgabe-)Werte von get_currentuserinfo() an jene Variablen gegeben werden. Steht so aber auch in der Funktionsreferenz bzw. in der Beschreibung & bei den Beispielen.

hth

~fym
__________________
blog.fymmie.de

Geändert von fym (25.01.2007 um 19:26 Uhr).
fym ist offline   Mit Zitat antworten
Alt 25.01.2007, 19:34   #5 (permalink)
PostRank: 0
 
Registriert seit: 25.01.2007
Beiträge: 6
@fym: Nö, auch das hilft ned, leider, aber danke für den Tipp.

Das Bsp von der Doku
PHP-Code:
<?php global $userdata;
      
get_currentuserinfo();

      echo(
'Username: ' $userdata->user_login '\n');
      echo(
'User level: ' $userdata->user_level '\n');
      echo(
'User ID: ' $userdata->ID '\n');
?>
Output bei mir:
Username: admin\nUser level: \nUser ID: 1\n

D.h. in $userdata->user_level ist nix.
PixelRay ist offline   Mit Zitat antworten
Alt 25.01.2007, 19:57   #6 (permalink)
PostRank: 10
 
Benutzerbild von mastermind
 
Registriert seit: 13.12.2005
Ort: Aachen
Beiträge: 2.078
Mal was anderes, was aber mit dem ursprünglichen Problem zusammenhängt: Eigentlich gibt es bei WP seit 2.0 keine Level mehr, sondern Rollen und Fähigkeiten ("Roles"/"Capabilities"). D.h. eine Rolle kann zwar aus historischen Gründen auf ein Benutzerlevel gemappt werden, aber die Level selbst sollten nicht mehr verwendet werden.

Wie wäre es, wenn Du Dein Plugin so umschreibst, dass eine Capability abgefragt wird? Das geht sehr gut mit der Funktion bool current_user_can(string capability).
__________________
Plugins!
mastermind ist offline   Mit Zitat antworten
Alt 25.01.2007, 20:10   #7 (permalink)
fym
PostRank: 4
 
Registriert seit: 04.01.2005
Beiträge: 163
Hm, wundert mich trotzdem, dass es bei ihm nicht klappt. Hier bei mir mit WP 2.1 funktioniert es zumindest.
__________________
blog.fymmie.de
fym ist offline   Mit Zitat antworten
Alt 25.01.2007, 20:18   #8 (permalink)
PostRank: 0
 
Registriert seit: 25.01.2007
Beiträge: 6
Zitat:
Zitat von mastermind Beitrag anzeigen
Wie wäre es, wenn Du Dein Plugin so umschreibst, dass eine Capability abgefragt wird? Das geht sehr gut mit der Funktion bool current_user_can(string capability).
OK danke das ist natürlich ne Möglichkeit.

So ich hab mich nochmal herumgespielt. WP 2.1 scheint einen kl. "Bug" zu haben bzw. wirds wohl wie mastermind geschrieben haben, dass userlevels outdated sind.
Admin hat kein $user_level. (also der User, der bei der Installation erstellt wurde; auch das wp_user_level-Feld in der DB (wp_usermeta) existiert nicht. Wenn ich nen neuen User erstelle, dann hat der sehrwohl einen $user_level.

Geändert von PixelRay (25.01.2007 um 20:23 Uhr).
PixelRay ist offline   Mit Zitat antworten
Alt 04.03.2007, 11:49   #9 (permalink)
PostRank: 0
 
Registriert seit: 03.03.2007
Beiträge: 10
hi!! habe hier auch son problem mit der funktion...
muss man bei wp noch etwas includen um die funktion zu nutzen oder so ?

bekomme immer die meldung
Fatal error: Call to undefined function get_currentuserinfo() in C:\Programme\xampp\htdocs\wordpress\wp-content\plugins\accounting\accounting.php on line 12

habe das bsp von oben übernommen!!!
navyseal ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist aus.
HTML-Code ist aus.
Trackbacks are aus
Pingbacks are aus
Refbacks are aus


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:21 Uhr.


Powered by vBulletin® Version 3.7.4 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0 | Impressum | Ein Inpsyde.com Projekt