Wordpress 如果未登录,则重定向用户
我在我的网站上使用自定义页面,我需要检查用户是否登录,如果没有,则重定向到另一个页面。 成功登录后,会话变量设置为:Wordpress 如果未登录,则重定向用户,wordpress,redirect,Wordpress,Redirect,我在我的网站上使用自定义页面,我需要检查用户是否登录,如果没有,则重定向到另一个页面。 成功登录后,会话变量设置为: session_start(); $_SESSION['login'] = "1"; 要检查用户是否登录页面,我在页面开头使用以下代码: session_start(); if($_SESSION['login']=='') { @header("location:login.php"); } 但是,即使用户未登录,页面也不会重定向。显示的错误是 注意:未定义索引:登
session_start();
$_SESSION['login'] = "1";
要检查用户是否登录页面,我在页面开头使用以下代码:
session_start();
if($_SESSION['login']=='')
{
@header("location:login.php");
}
但是,即使用户未登录,页面也不会重定向。显示的错误是
注意:未定义索引:登录XXXX/XXXX/XXXX/XXXX
除了
header()
,是否还有其他方法重定向用户,或者可以使用其他一些代码来实现相同的目的?在您检查$\u会话的登录
索引时,似乎没有设置它,很可能是$\u会话['login']=“1”代码>位在您的检查之后出现,因此您必须确保使用array\u key\u exists
功能验证它是否已设置,如下所示:
if (array_key_exists('login', $_SESSION) && $_SESSION['login']=='') {
@header("location:login.php");
}
或者,您可能希望明确地设置$\u会话['login']=0
,例如,默认情况下,并且仅设置$\u会话['login']=1代码>如果登录成功
同时,我不建议您使用自己的登录机制,而是使用最初由wordpress知识渊博的程序员设计并经过社区测试的脚本和技术。(将其添加到主题的functions.php
)中描述了一种这样的方法:
您是将login.php创建为模板还是仅创建自定义文件?也可以尝试使用is_user_logged_in()。使用is_user_logged_in()函数检查用户是否登录。然后使用wp_redirect函数重定向到desire Location我正在使用login.php作为自定义文件。
add_action( 'init', 'redirect_visitors' );
function redirect_visitors() {
if ( ! is_user_logged_in() ) {
wp_redirect( 'http://your-site.com/wp-login.php' );
exit;
}
}