Erhalten Sie Benutzerinformationen außerhalb von WordPress

Nicht ganz sicher, warum das passiert, hoffentlich kann jemand helfen. Ich habe eine WordPress-Installation, sagen wir für Argumente, es ist auf http://www.example.com/wordpress installiert. Ich habe eine Datei namens test.php mit folgendem Code:

 

Nun ist der seltsame Teil, wenn ich einen Benutzer angemeldet habe und diese Datei in mein WordPress-Verzeichnis lege und sie unter http://www.example.com/wordpress/test.php anrufe, gibt sie die korrekte Benutzer-ID des aktuellen aus angemeldeter Benutzer Wenn ich jedoch die Datei in das Stammverzeichnis der Site verschiebe und sie unter http://www.example.com/test.php aufruft, wird 0 ausgegeben, als ob kein Benutzer angemeldet wäre.

Es scheint, dass einige functionen außerhalb des Installationsverzeichnisses ordnungsgemäß funktionieren und andere nicht. Ich möchte, dass sie außerhalb des WordPress-Installationsverzeichnisses arbeiten.

Jede Hilfe würde sehr geschätzt werden.

Solutions Collecting From Web of "Erhalten Sie Benutzerinformationen außerhalb von WordPress"

Sehr ähnlich zu dieser Frage vor ein paar Stunden: Wie kann ich eine Liste der neuesten Beiträge außerhalb meiner WP-Installation bekommen?

Verwenden Sie chdir() , um in den WordPress-Stamm zu gelangen, bevor Sie WordPress- chdir() und sogar aufrufen. Es gibt Fälle, in denen relative Verweise auf Verzeichnisse und Dateien verwendet werden, wodurch viele Dinge gebrochen werden.

Sie können danach zum vorherigen Verzeichnis zurückkehren, indem get_cwd() zuerst get_cwd() speichern.

 $cwd = get_cwd(); chdir( 'wordpress_root' ); include 'wp-load.php'; // ... do stuff with WordPress chdir( $cwd ); // ... continue happily ever after 

Da Sie außerdem mit Sitzungscookies arbeiten, sind die Pfade für diese Cookies für den URI, mit dem Sie arbeiten, ungültig. Der Browser sendet nicht die WordPress-Authentifizierungscookies, die Sie zuvor erworben haben, da die Domain-Roots ungültig sind und außerhalb des WordPress-Bereichs liegen. Sie müssen die Wurzeln dieser Cookies von WordPress mit etwas wie diesem http://wordpress.org/extend/plugins/root-cookie/ ändern.