2016-10-31 7 views
-1

Ich habe versucht, Wordpress-Login mit nur der Benutzer-ID zu implementieren.Wie Wordpress Login-Benutzer über Benutzer-ID implementieren

Hier ist mein Code, aber es funktioniert nicht. Der Code loggt den Benutzer nicht in.

// check if user has an account... 
$details = get_user_by("email", $user->emailAddress); 
//check user if not empty... 
if ($details != null) {  
    // create a cookie and log user in... 
    wp_set_current_user($details->ID, $details->user_login); 
    wp_set_auth_cookie($details->ID); 
    do_action('wp_login', $details->ID); 

    //redirect to homepage... 
    header("Location: " . site_url()); 
} 
+0

ändern do_action ('wp_login', $ schildert> ID); into do_action ('wp_login', $ user-> emailAddress); – cgee

+0

@cgee ich tat es auf Ihre Weise immer noch nicht funktioniert –

Antwort

1

Nun, die Dokumentation besagt, dass die Funktion get_user_by() auf Ausfall und Benutzerobjekt im Erfolgsfall false zurück, aber in Ihrem Code, den Sie für NULL prüfen, werden so vielleicht Sie hierfür können versuchen:

if (is_object($details)) {  
    //your code 
} 

or 

if ($details != false) { 
    //your code 
} 
+0

Ich versuchte dies immer noch nicht funktioniert ... –

+0

Nun in diesem Fall versuchen Sie diesen Code, denn wenn die E-Mail nicht in der Tabelle existiert, dann wird es Boolean false zurückgeben : if ($ details! = false) {// Dein Code} –

+0

@hsharama Der Code erhält die Basis Die if-Anweisung Ich habe einen Check gemacht, das ist der Standard-Weg, aber es funktioniert immer noch nicht in meinem Fall. –

Verwandte Themen