我正在尝试创建一个会话,而不使用 php$_SESSION
变量,也不让用户登录网站。我创建了一个表单,一旦访问者/来宾用户提交表单,我想将他的数据存储在会话变量中。我发现$_SESSION
在 WordPress 中使用并不是一个好的做法。我浏览了一些教程并发现可以使用WP_Session
. 这似乎也不适合我。
这是我正在使用的代码:
global $wp_session;
$wp_session['visitorInfo'] = 'some_text_here';
Run Code Online (Sandbox Code Playgroud)
当我在另一个页面上请求它时,它什么也没有给我(空白)。即使我尝试打印$wp_session
变量,它也会给我空白。我也尝试过$wp_session = WP_Session::get_instance();
,但它返回给我错误Class WP_Session not found
可能是因为我正在使用调用此方法的类的命名空间。
我也尝试过
add_action('init',array($this,'start_session'));
public function start_session(){
if (!session_id()) { session_start();}
}
Run Code Online (Sandbox Code Playgroud)
但它不起作用。
我的网站托管在 wpengine 上,它不允许创建自定义 cookie。我试图弄清楚当用户登录网站时 WordPress 如何创建会话。我过去两天一直在寻找解决方案,但没有找到任何有效的解决方案。
您能建议我如何实现这一目标吗?
非常非常感谢!