Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用PHP会话将Wordpress对象从父对象传递到弹出子对象_Php_Wordpress_Session_Popup_Parent Child - Fatal编程技术网

使用PHP会话将Wordpress对象从父对象传递到弹出子对象

使用PHP会话将Wordpress对象从父对象传递到弹出子对象,php,wordpress,session,popup,parent-child,Php,Wordpress,Session,Popup,Parent Child,我正在使用$会话变量将WP对象数组(即WP_用户)从Wordpress站点传递到弹出窗口 当弹出窗口打开时,Ivar\u dump($\u SESSION['variable']['WP\u Users'])一切看起来都很好 但是,当我尝试访问$\u会话['variable']['WP\u users'][0]->data->parameter时,所有值都为空 除此之外,错误日志显示: “main():脚本试图执行一个方法或访问一个不完整对象的属性。。请确保在调用unserialize()或提供

我正在使用$会话变量将WP对象数组(即WP_用户)从Wordpress站点传递到弹出窗口

当弹出窗口打开时,I
var\u dump($\u SESSION['variable']['WP\u Users'])
一切看起来都很好

但是,当我尝试访问
$\u会话['variable']['WP\u users'][0]->data->parameter
时,所有值都为空

除此之外,错误日志显示:

“main():脚本试图执行一个方法或访问一个不完整对象的属性。。请确保在调用unserialize()或提供自动加载()之前加载了您试图操作的对象的类定义“WP\u User”)函数加载/ABSPATH/popup_template.php第52行中的类定义”

据我所知,我的弹出窗口没有WP类的定义,例如WP_User等,因此我无法操作WP对象


有没有办法解决这个问题?(请记住,我根本没有使用(un)serialize())

所以解决方案实际上非常简单:我必须按照
error\u log
的要求去做

在父窗口中,我必须序列化Wordpress对象数组,然后将它们推入会话变量,如下所示:

$_SESSION['variable'] = serialize( $array_of_WP_objects );
在我的弹出模板中,我必须从WP\u includes文件夹中添加
WP\u用户
的定义,然后将我的数组反序列化回WP\u对象的
$array\u,就像这样

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

工作起来很有魅力。

所以解决方案其实很简单:我必须按照
错误日志要求的去做

在父窗口中,我必须序列化Wordpress对象数组,然后将它们推入会话变量,如下所示:

$_SESSION['variable'] = serialize( $array_of_WP_objects );
在我的弹出模板中,我必须从WP\u includes文件夹中添加
WP\u用户
的定义,然后将我的数组反序列化回WP\u对象的
$array\u,就像这样

require_once( '../../../../wp-includes/class-wp-user.php' );
$array_of_WP_objects = unserialize( $_SESSION['variable'] );
工作得很有魅力