Wie verwende ich get_current_user_id() in WordPress?

Lesezeit: 3 Minuten

Benutzeravatar von Flemming Lemche
Flemming Lemche

Ich versuche herauszufinden, wie man die Funktion verwendet get_current_user_id() richtig.

Ich brauche es für die Benutzerdatentrennung, genau wie ein normaler PHP-Code $_SESSION.

Ich habe das folgende Codebeispiel gefunden, das ich eingefügt habe Function.php und es funktioniert gut, aber es scheint auf jeder Seite ausgeführt zu werden, was nicht die Absicht ist.

function hf_Function(){

    $user_ID = get_current_user_id(); 

    _SESSION["uid"] = user_ID;
}
add_action('init', 'hf_Function');

Ich brauche es nur einmal auszuführen und die Informationen in a zu speichern $_SESSION Variable oder eine globale Variable, auf die ich von meinen eigenen PHP-Seiten aus zugreifen kann.

Ich habe versucht, die obigen Zeilen in mein eigenes PHP-Skript einzufügen, aber es scheint nicht zu funktionieren.

Ist das der richtige Weg oder mache ich etwas falsch?

Was ist die beste Praxis, wenn es um die Verwendung geht get_current_user_id() und die anderen eingebauten Funktionen?

  • Okay danke :o) 1) & 2) sind Tippfehler. 3) Ich habe tatsächlich versucht, die Beschreibung auf add_action (init) zu lesen, aber ich war mir immer noch nicht sicher, wie ich es richtig machen sollte. Aber mein letztes Ziel ist es, die Benutzer-ID für mein SQL zu verwenden, wenn ich Daten auswähle, damit die Benutzerdaten nicht durcheinander geraten. In dem PHP, das ich bisher gemacht habe (nicht WP), habe ich $_SESSION-Variablen zur Benutzertrennung verwendet.

    – Flemming Lemche

    1. März 2016 um 21:55 Uhr

Benutzeravatar von Kirk Beard
Kirk Bart

Basierend auf Ihrem Beispielcode hat es keinen Vorteil, dass Sie die user_id in der speichern $_SESSION.

Du kannst den … benutzen get_current_user_id() Methode auf der gesamten Website. Es wird die aktuelle Benutzer-ID zurückgegeben, wenn sie angemeldet sind, oder es wird zurückgegeben 0 wenn der aktuelle Benutzer nicht eingeloggt ist.

Sie könnten beispielsweise Folgendes tun:

function hf_Function(){
    $user_ID = get_current_user_id(); 

    if ($user_ID == 0) {
        // The user ID is 0, therefore the current user is not logged in
        return; // escape this function, without making any changes
    }

    // Run your SQL queries here (using WordPress DB class)
    global $wpdb;
    // $wpdb->query($sql);
}
add_action('init', 'hf_Function');

Weil Sie die verwenden init Aktion, wird diese Funktion bei jedem Laden der Seite ausgeführt. Möglicherweise müssen Sie die ändern Aktion, je nachdem, was Sie erreichen möchten. Das Antwort auf WordPress SE könnte hilfreich sein, um den WordPress-Lebenszyklus zu verstehen.

  • Ich muss noch ein paar Abbruch-Hooks in WP lesen und wie sie funktionieren. Eine zusätzliche Frage, die mir in den Sinn gekommen ist, ist die Platzierung des Codes. Es scheint, dass es nicht funktioniert, wenn ich den Code in meine eigene PHP-Datei platziere, aber wenn ich ihn in die Functions.php-Datei platziere, funktioniert es gut. Übersehe ich etwas…… Muss ich meine eigene PHP-Datei irgendwo registrieren???

    – Flemming Lemche

    5. März 2016 um 8:47 Uhr

  • @FlemmingLemche WordPress wird automatisch Ihre functions.php Datei beim ersten Laden. Wenn Sie eine separate Datei erstellen, dh my-functions.php dann hat WordPress keine Kenntnis von dieser Datei. Sie müssten diese Datei in Ihre einfügen functions.php Datei: include('my-functions.php'); damit WordPress den darin enthaltenen Code erkennen und verarbeiten kann.

    – Kirk Bart

    5. März 2016 um 9:34 Uhr

  • Du bist der Mann. Vielen Dank für Ihre Mithilfe. Eine Sache ist, PHP zu kennen, eine andere, zu lernen, im WP-Framework zu arbeiten. Wie ich bereits sagte, habe ich gerade die Büchse der Pandora geöffnet und bin auf der Noop-Ebene. 😎

    – Flemming Lemche

    6. März 2016 um 21:51 Uhr

1446520cookie-checkWie verwende ich get_current_user_id() in WordPress?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy