2014-02-25 196 views
0

我想知道是否有人可以给我一个关于如何将变量传递到Wordpress中的另一个页面的想法。
我需要能够使用get_the_ID();函数来设置可以从任何页面访问的变量。
我能将变量存储在会话中吗?或者这会成为一个安全问题?在Wordpress中将变量从一个页面传递到另一个页面

我完全在错误的轨道上,因为说实话,我不知道我在做什么。任何帮助都会走很长的路。

干杯

回答

2

使用会话不是一个安全问题,只要你没有得到任何用户输入(否则sanitize/encrypt你的价值)。

来吧,把你的整个应用程序中使用它像这样

<?php 
$_SESSION['next-page-id'] = get_the_ID(); // once set 

现在,您可以访问会话变量是这样的:

if (isset($_SESSION['next-page-id'])) { // remember to check if it set or not 
    echo $_SESSION['next-page-id']; 
} 

编辑:

你不”不必在每个页面的顶部使用session_start(),而应该在init钩子中添加一个函数。

就在这个小小的代码粘贴到您的functions.php文件

function session_initialize() { 

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

是否有可能为用户浏览会话变量?

不,用户根本无法查看您的会话。如果他们无法访问您的文件。

wordpress如何阻止用户创建自己的会话变量?

记住WordPress的整个应用程序不使用会话(只有饼干)。用户不能创建会话变量。如上所述,他们必须编写代码到您的PHP文件(或者,如果任何插件或主题被发现存在漏洞,他们会将代码注入到您的应用程序中)。

+0

非常感谢你!这正是我所需要的。 另外,不得不添加session_start();在每个页面的顶部,我想从中访问该变量。 用户是否有可能查看会话变量?wordpress如何阻止用户创建自己的会话变量?对所有问题抱歉。 – LWNZ

+0

@Laurie威廉姆斯看到我的编辑。 –

+0

@RahilWazir - 我不小心拒绝了你编辑的问题(没有注意到附加标签)。现在我想弄清楚如何收回我的拒绝投票 - 对不起有关 –

相关问题