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

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • PHP
    get_currentuserinfo();
    if($user_level < 1) {
    	return;
    }

    Mit anderen Worten beendet er immer die Methode, weil eben $user_level nicht initialisiert wurde...

  • $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

    Einmal editiert, zuletzt von fym (25. Januar 2007 um 19:26)

  • fym: Nö, auch das hilft ned, leider, aber danke für den Tipp. :)

    Das Bsp von der Doku

    PHP
    <?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. :(

  • 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).


  • 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.

    Einmal editiert, zuletzt von PixelRay (25. Januar 2007 um 20:23)

  • 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!!!

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!