如果用户未登录,WordPress重定向

时间:2019-07-19 10:04:25

标签: wordpress

我在WordPress项目中创建了自定义注册/登录页面,当用户登录时,我将其存储在会话中。我想只向那些已登录的用户授予查看我的网站帖子和页面的权限。我编写了这段代码来检查会话是否有用户,如果我的functions.php文件中没有会话,则重定向到登录页面,但是不起作用。这是functions.php开头的代码:

<?php

session_start();

if (!isset($_SESSION['user'])) {

    header('Location: /wordpress_grig/login');

} 

我也尝试过进行wp_redirect('wordpress_grig/login');auth_redirect();的操作,但是没有任何效果。 有人可以告诉我如何做到这一点。 谢谢。

1 个答案:

答案 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');

} 
相关问题