如何在插件开发利用会议在WordPress(How to use session in wordpr

2019-08-31 15:17发布

我新写的..我感到有testplugin.php文件和文件ajax.php一个插件..

我在testplugin.php代码

global $session;

print_r($abc); //$abc is array of my data ..

$session['arrayImg']=$abc; //saving data in session 

echo  $session['arrayImg']; //displayin "Array"

而我的ajax.php包括下面的代码

global $session;

$abc = $session['arrayImg'];

print_r ("abs== ".$abc); //displayin "abs== Array"

而如果用session_start();

我得到以下错误

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent 

我只是想从我的插件的一个文件发送数据的阵列到另一个文件...

Answer 1:

//在你的插件或主题的functions.php

function register_session(){
    if( !session_id() )
        session_start();
}
add_action('init','register_session');

//设置一个SESSION数据-

$_SESSION['arrayImg'] = $abc;

//要获得关于Ajax挂钩函数的数据 -

function resolve_the_ajax_request(){
    if( !session_id())
        session_start();

    $abc = $_SESSION['arrayImg'];
}


Answer 2:

在我来说,我使用的插件,激活以及该会话变量。 因此,没有标新立异。 相反,在一个钩子定义我的session_start的我把它作为我的插件:)第一线。

要通过我的文件到底有插件,只要WordPress的扫描它发起会话。

最后我不破坏用户注销会话。 我只是取消设置我的变量。 如果一些其他插件也使用会话这是为了以防万一。 如果我摧毁会议,可能会影响其他插件。

干杯。



文章来源: How to use session in wordpress in plugin development