如何在Wordpress上使用会话名称添加新会话

时间:2018-08-29 10:38:30

标签: php wordpress session cookies

我在用wordpress添加带有自定义名称的新会话时遇到问题,

我尝试将其放在function.php中,这样就可以了:

function myStartSession() {
    session_destroy();
    session_name('my_session');
    session_start();
}
add_action('init', 'myStartSession', 1);

但是当将相同的代码放到single.php之类的其他文件中时不再起作用

我尝试仅将我的函数放在functions.php中,并将add_action放在single.php中,但同样的问题,不起作用

如何使用自定义名称创建会话并在需要时调用

2 个答案:

答案 0 :(得分:2)

将代码更改为此:

function myStartSession() {
  session_destroy();
  session_name('my_session');
  session_start();
}
add_action('my_action_name', 'myStartSession');

然后在模板文件中,如您提到的single.php一样,如果要调用函数add:

 do_action('my_action_name');

答案 1 :(得分:0)

无需破坏会话,只需检查它是否尚未启动并启动

function myStartSession() {
   if( ! session_id() ) {
     session_start();
   }
   $_SESSION['custom_name'] = 'value';
}
add_action('init', 'myStartSession', 1);