web-dev-qa-db-de.com

Wie erhalte ich Anmeldedaten (Sitzung) außerhalb von WordPress?

Ich denke, WP verwendet eine PHP Sitzung (oder ein Cookie), um Anmeldedaten zu speichern, oder?

Ich habe eine Website, die WP als CMS verwendet, aber Inhalte von außerhalb anzeigt (und erstellt). Ich erlaube anonyme Posts, indem ich einfach nicht $post['post_author'] an wp_insert_post() weitergebe

Ich möchte jedoch auch Benutzer (die in WP registriert sind) dazu bringen, sich in mysite/wp/wp-login.php anzumelden, als zu mysite/mypage.php umzuleiten und den user id von der Sitzung oder dem Cookie abzurufen.

Wie mache ich das?

Bearbeiten

Der Code:

include( 'wp/wp-load.php');  
global $current_user;
get_currentuserinfo();
print_r($current_user);

dies gibt ein leeres WP_User-Objekt aus:

WP_User Object ( [data] => [ID] => 0 [caps] => Array ( ) [cap_key] => [roles] => Array ( ) [allcaps] => Array ( ) [filter] => ) 

Obwohl ich in WP eingeloggt bin.

P.S.
Nun, da ich wp-login-form in Tags gesehen habe, kam mir eine bessere Idee.

Kann ich meiner Seite ein Anmeldeformular hinzufügen (außerhalb von wp)? Dies wäre sicherlich besser, da die Benutzer nicht umleiten müssten.

Ich möchte eine minimale (idealerweise keine) Interaktion zwischen mysite/wp und Besuchern (einschließlich Google Bot).

1
jeff

Ich habe mein Problem gelöst und es könnte definitiv auch anderen helfen.

Das Problem war mit Cookies, da meine Ordnerstruktur so aussah:

  • mysite.com
  • mysite.com/mypage.php
    • mysite/WordPress /

die Cookies waren nur für den WordPress-Ordner und dessen Unterverzeichnisse gültig.

Um die Cookies außerhalb von WordPress zu aktivieren, habe ich das root Cookie Plugin installiert und alles funktioniert jetzt.

P.S.

Ändern SieNICHTdie Konfiguration des Root-Cookies. Lassen Sie die Domain Name-Einstellung einfach leer.

2
jeff