2017-02-25 66 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']); 

工作就像一个魅力。