我在WordPress项目中创建了自定义注册/登录页面,当用户登录时,我将其存储在会话中。我想只向那些已登录的用户授予查看我的网站帖子和页面的权限。我编写了这段代码来检查会话是否有用户,如果我的functions.php
文件中没有会话,则重定向到登录页面,但是不起作用。这是functions.php
开头的代码:
<?php
session_start();
if (!isset($_SESSION['user'])) {
header('Location: /wordpress_grig/login');
}
我也尝试过进行wp_redirect('wordpress_grig/login');
和auth_redirect();
的操作,但是没有任何效果。
有人可以告诉我如何做到这一点。
谢谢。
答案 0 :(得分:1)
我们将使用WordPress提供的init操作来处理启动PHP会话。首先,我们添加动作,当WordPress首次启动时将调用一个名为start_session的函数。(在functions.php中添加以下内容)
add_action('init', 'start_session', 1);
删除session_start();
使用以下代码检查会话是否设置,请相应地重定向用户:Ref:WordPress header location redirect
if (!isset($_SESSION['user'])) {
header('Location: /wordpress_grig/login');
}