繁体   English   中英

使用PHP SESSION将Wordpress对象从父级传递给弹出子级

[英]Passing Wordpress objects from parent to popup child using PHP SESSION

我正在使用$ _SESSION变量将一个WP对象(即WP_User)从Wordpress站点传递到弹出窗口。

弹出窗口打开时,我var_dump($_SESSION['variable']['WP_Users']) ,一切看起来都不错。

但是,当我尝试访问$_SESSION['variable']['WP_users'][0]->data->parameter ,所有值都为NULL。

除此之外,error_log说:

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

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

关于如何解决这个问题的任何想法? (请记住,我根本不使用(un)serialize())

所以解决方案实际上非常简单:我必须做error_log问的问题。

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

$_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'] );

工作就像一个魅力。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM