2017-02-25 68 views
1

我使用$ _SESSION變量將WP對象(即WP_User)從Wordpress站點傳遞到一個彈出窗口。從父母傳遞Wordpress對象到使用PHP SESSION彈出孩子

當彈出窗口打開時,我var_dump($_SESSION['variable']['WP_Users'])和一切看起來不錯。

但是,當我試圖訪問$_SESSION['variable']['WP_users'][0]->data->parameter時,所有值都是NULL。

除此之外,error_log中說:

「的main():腳本試圖執行一個方法或訪問完全的對象的屬性請確保類定義"的WP_User "你嘗試操作上的對象之前解序列化裝載()被調用或提供一個__autoload()函數來加載類定義/ ABSPATH /popup_template.php線52"

據我所知,我的彈出沒有WP類的定義,如WP_User等,因此我無法操作WP對象。

有關如何解決此問題的任何想法? (請記住,我根本不使用(un)serialize())

回答

0

所以解決方案其實很簡單:我必須做什麼error_log問。

在父窗口,我不得不推搡他們進入會議變種,像這樣前連載的WordPress對象數組:

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

要我彈出的模板,我不得不從wp_includes文件夾中添加的WP_User定義,然後反序列化我的陣列回到$array_of_WP_objects像這樣

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

工作就像一個魅力。

相關問題