Php 如何在Wordpress上添加会话名称为的新会话

Php 如何在Wordpress上添加会话名称为的新会话,php,wordpress,session,cookies,Php,Wordpress,Session,Cookies,我在wordpress中添加自定义名称的新会话时遇到问题 我试着把它放到function.php中,它的工作如下: function myStartSession() { session_destroy(); session_name('my_session'); session_start(); } add_action('init', 'myStartSession', 1); 但是,当把相同的代码放在其他文件(如single.php)中时,它就不再工作了 我试着只

我在wordpress中添加自定义名称的新会话时遇到问题

我试着把它放到
function.php
中,它的工作如下:

function myStartSession() {
    session_destroy();
    session_name('my_session');
    session_start();
}
add_action('init', 'myStartSession', 1);
但是,当把相同的代码放在其他文件(如single.php)中时,它就不再工作了

我试着只把我的函数放在
functions.php
中,把
add\u action
放在
single.php
中,但同样的问题不起作用


如何使用自定义名称创建会话,并在需要时调用会话将代码更改为:

function myStartSession() {
  session_destroy();
  session_name('my_session');
  session_start();
}
add_action('my_action_name', 'myStartSession');
然后在模板文件中,如您提到的single.php,如果您想调用函数add:

 do_action('my_action_name');

将代码更改为:

function myStartSession() {
  session_destroy();
  session_name('my_session');
  session_start();
}
add_action('my_action_name', 'myStartSession');
然后在模板文件中,如您提到的single.php,如果您想调用函数add:

 do_action('my_action_name');

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

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

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

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


我试过了,但没用,当我把
do_action
放在function.php中时,我不知道为什么它在function.php之外不起作用,你知道你把它放在single.php的什么地方吗?我们能看到一些代码吗?我在single.php和page.php以及search.php中尝试了除functions.php之外的所有文件,我的代码就像我放在顶部的一样,我现在只想创建新会话,但不能担心延迟,我正在其他页面中发布我的评论和屏幕截图lol,这里的屏幕截图:ibb.co/bXW9v9我正在使用默认文件不编辑任何内容更多信息:我在
header.php
中添加了
do_action
,它可以工作,但在
single.php
中不工作,我正在尝试将主题更改为默认的wordpress主题
Twenty177
,但在
single.php
/EDITED中存在相同的问题:我在哪里发现了问题,当在
get_header()之前放置do_action时这是工作,但标题不工作后,标题有什么问题!!我试过了,但没用,当我把
do_action
放在function.php中时,我不知道为什么它在function.php之外不起作用,你知道你把它放在single.php的什么地方吗?我们能看到一些代码吗?我在single.php和page.php以及search.php中尝试了除functions.php之外的所有文件,我的代码就像我放在顶部的一样,我现在只想创建新会话,但不能担心延迟,我正在其他页面中发布我的评论和屏幕截图lol,这里的屏幕截图:ibb.co/bXW9v9我正在使用默认文件不编辑任何内容更多信息:我在
header.php
中添加了
do_action
,它可以工作,但在
single.php
中不工作,我正在尝试将主题更改为默认的wordpress主题
Twenty177
,但在
single.php
/EDITED中存在相同的问题:我在哪里发现了问题,当在
get_header()之前放置do_action时这是工作,但标题不工作后,标题有什么问题!!您正在哪个页面检查会话?单页还是其他页面?仅在您检查会话的页面中搜索search.php和single.php?单页还是其他页面?search.php和single.php only不起作用,我发现删除wp_head()时可能会有帮助;从页眉上看,这是有效的,所以我可以从head break会话中找到一些东西,有什么方法可以检测到吗?用“wp_head”替换“init”不起作用,我发现当移除wp_head()时,可能会有帮助;从页眉上看,这是工作,所以我可以从head break会话中找到一些东西,有没有任何方法可以检测到它?将“init”替换为“wp_head”