3rd Party Anmelden in WordPress

Ich habe zwei Seiten. Eine auf WordPress und eine Non WordPress Site. Jetzt habe ich die Kopf- und Fußzeile von meiner Nicht-Wordpress-Site verwendet. Was ich will, ist, dass, wenn Benutzer sich auf meiner Nicht-Wordpress-Seite anmeldet, er dann die gleiche E-Mail und den gleichen Namen verwenden kann, um auf meiner WordPress-Seite zu kommentieren.

Ich erhalte die Benutzerinformationen von der Nicht-Wordpress-Site des Benutzers über eine CURL-Anfrage. Das Hauptproblem, das ich habe, ist, wie man die E-Mail und den Namen des Benutzers benutzt, um einen Kommentar zu schreiben.

Ich habe es versucht:

global $current_user; $current_user->user_email = $body->user->email; $current_user->user_firstname = $body->user->name; 

Hier hat $ body die E-Mail und den Namen des Benutzers, der von meiner Nicht-Wordpress-Site angemeldet ist.

Wie kann ich das machen?

Solutions Collecting From Web of "3rd Party Anmelden in WordPress"

Hier ist ein Code, mit dem ich mich zwischen zwei Seiten anmelde, eine in WordPress und eine in WordPress. Ich sende eine Ajax-Anfrage an die WordPress-Site mit E-Mail und Passwort als Daten. Nachdem diese Daten auf WordPress-Site erhalten haben, verwende ich den Benutzer wp_signon , um den Benutzer einzuloggen. Hier ist der Code.

 function sign_in_action() { $creds = array(); $creds['user_login'] = $_REQUEST['username']; $creds['user_password'] = $_REQUEST['password']; $creds['remember'] = $_REQUEST['remember']; $user = wp_signon( $creds, false ); if ( is_wp_error($user) ): echo false; exit(); else: echo true; exit(); endif; } add_action('wp_ajax_nopriv_sign_in_action', 'sign_in_action'); add_action('wp_ajax_sign_in_action', 'sign_in_action'); 

Sobald die Anmeldung erfolgreich ist, wenn der Benutzer zu WordPress kommt, wird er automatisch eingeloggt, weil WordPress den Cookie für den Benutzer speichert.

Der gleiche Code, den Sie für die Abmeldung schreiben müssen, auch wenn der Benutzer sich von der Nicht-WordPress-Seite abmeldet, müssen Sie sich von der WordPress-Seite abmelden. Dazu müssen Sie eine AJAX-Anfrage an die WordPress-Site senden, die die wp_logout function zum Abmelden des Benutzers verwendet.

 function logout_action() { wp_logout(); echo true; exit() } add_action('wp_ajax_nopriv_logout_action', 'logout_action'); add_action('wp_ajax_logout_action', 'logout_action'); 

Dies ist Arbeitscode, den ich für meine Website verwende. Ich weiß nicht, wie Sie database des Benutzers in der WordPress- und Nicht-Wordpress-Site verwenden. Ich verwende die gemeinsame wp_users Tabelle sowohl für WordPress- als auch für Nicht-Wordpress- wp_users .