在wordpress

时间:2016-10-06 17:15:48

标签: php wordpress session

我在wordpress中遇到会话问题。首先,我已经在我的functions.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回来......这是什么?无法理解

1 个答案:

答案 0 :(得分:0)

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

if(!session_id()) session_start();

在代码/插件的wp-config.phpinit或更好的