PHP会话变量值在重新加载页面后被销毁


php session variable value destroyed after reaload page in wordpress

我在wordpress中有一个会话问题。首先,我已经激活了在我的函数。php会话的使用,没有我得到正确的变量,但只是在我重新加载我的目标网站设置变量后。当我首先加载另一个页面,然后加载我的目标页面时,我的变量有一个错误的值,没有任何上下文到我的第一个值。当我有正确的值在我的目标网站,我重新加载这个网站的值也是错误的。这是我的代码:

//Activate sessions() in functions.php
add_action('init', function(){
      if(!session_id())
      {
          session_start();
      }
}, 1);
//Calculate the variable
$gesamtumsatz_kcal = round (($value1 + $value2 + $value3), 0); 
//Then set the session variable
$_SESSION['gesamtumsatz_kcal'] = $gesamtumsatz_kcal;
//Get my session variable on another page somewhere on my site
if(isset($_SESSION['gesamtumsatz_kcal'])) {
	$gesamtumsatz_kcal = $_SESSION['gesamtumsatz_kcal'];
} else {
	$gesamtumsatz_kcal = '';
}
//Echo my variable
echo $gesamtumsatz_kcal;

你知道怎么回事吗?我要讲完了....

非常感谢!

                • 我必须添加这个

当我定义一个常量变量而不像这样计算时:

//Define the variable
$_SESSION['test'] = 1056;
//Get the variable
$test = $_SESSION['test'];
    
//Echo the variable
echo $test;

我总是得到正确的值:1056返回…这是什么?看不懂

wordpress在未打开会话时销毁会话。所以使用

if(!session_id()) session_start();

wp-config.php开头或更好的init的代码/插件