2017-02-25 1 views
1

Ich übergebe ein Array von WP-Objekten (dh, WP_User) von Wordpress-Site zu einem Popup-Fenster mit $ _SESSION-Variable.Übergeben von Wordpress-Objekten von Eltern zu Popup unter Verwendung von PHP SESSION

Wenn Popup geöffnet ist, ich var_dump($_SESSION['variable']['WP_Users']) und alles sieht gut aus.

Wenn ich jedoch versuche, auf $_SESSION['variable']['WP_users'][0]->data->parameter zuzugreifen, sind alle Werte NULL.

Abgesehen davon, error_log sagt:

„main(). Das Skript versucht, eine Methode auszuführen oder eine Eigenschaft eines unvollständigen Objekt zugreifen Bitte stellen Sie sicher, dass die Klassendefinition " WP_User " von das Objekt, das Sie wurde vor unserialize geladen zu operieren versuchen() wird eine __autoload() Funktion aufgerufen oder bieten die Klassendefinition in/ABSPATH /popup_template.php Linie 52"

zu laden

Wie ich verstehe, hat mein Popup keine Definitionen von WP-Klassen, wie WP_User usw., daher kann ich WP-Objekte nicht manipulieren.

Irgendwelche Ideen, wie man das anpackt? (Denken Sie daran, ich verwende (un) serialisieren() überhaupt nicht)

Antwort

0

So Lösung war eigentlich ziemlich einfach: Ich musste tun, was gefragt.

In Eltern-Fenster hatte ich Array von Wordpress Objekte serialisiert werden, bevor sie in die SESSION var wie so schiebend:

$_SESSION['variable'] = serialize($array_of_WP_objects); 

Zu meiner Popup-Vorlage unserialize Ich hatte Definition von WP_User aus wp_includes Ordner hinzufügen, und dann mein Array wie so zu $array_of_WP_objects zurück

require_once('../../../../wp-includes/class-wp-user.php'); 
$array_of_WP_objects = unserialize($_SESSION['variable']); 

Arbeitete wie ein Charme.

Verwandte Themen