wake-up-neo.com

global $ current_user nicht aktueller Benutzer

Ich glaube, ich habe ein Missverständnis darüber, was die globale Variable $ current_user genau ist. Ich versuche, die E-Mail-Adresse und den Namen des aktuellen Benutzers mit add_filter ('the_content', 'my_function') auf einer Seite anzuzeigen. Wenn zwei Benutzer gleichzeitig auf die Schaltfläche klicken, werden die Informationen eines anderen Benutzers angezeigt. Ich kann das immer und immer wieder reproduzieren. Der Code, den ich benutze, ist unten:

function my_function($content){
    $current_user = wp_get_current_user();
    $content .= "User Email: " . $current_user->user_email;
    return $content;
}

add_filter('the_content', 'my_function');

// ALSO PRODUCES SAME RESULT:
function my_function2($content){
    get_currentuserinfo();
    global $current_user;
    $content .= "User Email: " . $current_user->user_email;
    return $content;
}

Was mache ich falsch? Ich habe dies in Init-Aktion versucht und führt das gleiche.

UPDATE:

Ich möchte auch sicherstellen, dass die Methode, mit der ich einen Benutzer erstelle, das Problem auch nicht verursacht. Ich verwende die Standardanmeldung WP, leite jedoch zu meiner benutzerdefinierten Registrierungsseite weiter, auf der grundlegende Informationen abgefragt werden, und erstelle dann einen Benutzer. Ist irgendetwas falsch daran (oder fehlt etwas, das ein normaler WordPress-Benutzer haben würde?):

$userdata = array(
                    'user_pass'         => $password,
                    'user_login'        => $email_1,
                    'user_nicename'     => $nickname,
                    'user_email'        => $email_1,
                    'display_name'      => $nickname,
                    'nickname'          => $nickname,
                    'first_name'        => $first_name_1,
                    'last_name'         => $last_name_1,
                    'description'       => NULL,
                    'rich_editing'      => 'true',
                    'user_registered'   => date("Y-m-d H:i:s"),
                    'role'              => 'ssm_user'
                );

$user_id = wp_insert_user($userdata);
$user = new WP_User( $user_id );
1
clockwiseq

Bevor ich meine eigene Frage beantworte, möchte ich sie mit einem sehr wohlverdienten Dankeschön für all Ihre Kommentare und Vorschläge einleiten. Es führte mich zur Wurzel des Problems. @toscho, es war dein Kommentar, der mich zum Nachdenken über das Deaktivieren der anderen Plugins veranlasste, die auf der Website aktiviert wurden. Das hat es auf mein Plugin beschränkt (was ich für den Schuldigen hielt) und nach mehreren Tests (auf verschiedenen Servern neben meinem Host) herausgefunden, dass das Problem verschwunden ist. Unten war die Lösung (die auch von @toscho vorgeschlagen wurde):

Ich kontaktierte meinen Host (SmarterASP.Net - übrigens eine großartige Gruppe von Leuten) und erklärte die Situation, und sie sagten, dass auf meiner Site eine Ausgabe-Caching-Option aktiviert sei. Dann informierten sie mich, wie ich es deaktivieren und voila! Das Problem mit der Ghost-Anmeldung ist verschwunden.

0
clockwiseq