2017-02-25 9 views
1

$ _SESSION変数を使用してWordpressサイトのポップアップウィンドウにWPオブジェクト(WP_User)の配列を渡します。PHPセッションを使用して親からポップアップの子供にWordpressオブジェクトを渡す

ポップアップが開いていると、I var_dump($_SESSION['variable']['WP_Users'])とすべてがうまく見えます。

ただし、$_SESSION['variable']['WP_users'][0]->data->parameterにアクセスしようとすると、すべての値がNULLになります。それはさておき

、error_logのは言う:

)(「メイン:スクリプトは、メソッドを実行したり不完全なオブジェクトのプロパティにアクセスしようとしたことを確認してくださいの"クラス定義" WP_Userこと。あなたが上で動作しようとしているオブジェクトは、/ ABSPATH /popup_template.phpラインでクラス定義をロードするために呼ばれるか__autoload()関数を提供します()アンシリアライズする前をロードされた52"

私のポップアップにはWP_UserなどのWPクラスの定義がないため、WPオブジェクトを操作できません。

これに対処する方法はありますか? (私はすべての(UN)にserialize()を使用していないに注意してください)

答えて

0

だから、解決策は、実際にはかなり簡単だった:私はerror_logが尋ねなければなりませんでした。親ウィンドウで

私はそうのようSESSIONのVARにそれらを無理に勧めする前にWordpressのオブジェクトの配列をシリアル化する必要がありました:私のポップアップテンプレートに

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

私はwp_includesフォルダからWP_Userの定義を追加する必要がありましたし、その後アンシリアライズ私の配列は、背中そう

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

よう$array_of_WP_objectsに魅力のように働きました。

関連する問題