Php 当您从wordpress中的特定页面登录后重定向到页面
我需要一个非常简单的单词 第一个是: 我有一个名为profile的特定页面,当用户可以编辑他/她的信息和更改密码时。 如果有人没有登录-他应该被重定向到登录页面。 所以,它会出现在这一页上Php 当您从wordpress中的特定页面登录后重定向到页面,php,wordpress,Php,Wordpress,我需要一个非常简单的单词 第一个是: 我有一个名为profile的特定页面,当用户可以编辑他/她的信息和更改密码时。 如果有人没有登录-他应该被重定向到登录页面。 所以,它会出现在这一页上 if ( is_user_logged_in() ) { } else { wp_redirect( 'http://www.mysite.com/wp-login.php' ); exit; } 这是可以的,但是如果有人登录(按下“登录”按钮),我希望他返回到以前的站点。所以我想到了这个 wp_r
if ( is_user_logged_in() ) {
} else {
wp_redirect( 'http://www.mysite.com/wp-login.php' ); exit; }
这是可以的,但是如果有人登录(按下“登录”按钮),我希望他返回到以前的站点。所以我想到了这个
wp_redirect( 'http://www.mysite.com/wp-login.php?=profile' ); exit; }
然后,php将检查地址中是否有?=profile,并在登录后使用适当的函数重定向到/profile
有人能帮我写第二行代码吗?:)谢谢 我建议您尝试使用插件。这将允许您在登录后将用户重定向到他所在的同一页面,然后再登录。我建议您尝试使用插件。这将允许您在登录后将用户重定向到他所在的同一页面,然后再登录。如果您想要自定义重定向,您可以这样使用
$returnPath = get_settings('siteurl') . '/login/?redirect_to=' . urlencode($_SERVER['REQUEST_URI']);
<a href="<?php echo $returnPath;?>">Login link</a>
$returnPath=get_设置('siteurl')。'/登录/?将_重定向到='。urlencode($_服务器['REQUEST_URI']);
如果您想要自定义重定向,可以这样使用
$returnPath = get_settings('siteurl') . '/login/?redirect_to=' . urlencode($_SERVER['REQUEST_URI']);
<a href="<?php echo $returnPath;?>">Login link</a>
$returnPath=get_设置('siteurl')。'/登录/?将_重定向到='。urlencode($_服务器['REQUEST_URI']);
登录后根据用户角色重定向到特定页面
function my_login_redirect( $redirect_to, $user ) {
//is there a user to check?
if ( isset( $user->roles ) && is_array( $user->roles ) ) {
//check for admins
if ( in_array( 'administrator', $user->roles ) ) {
// redirect them to the default place
return $redirect_to;
} else if(in_array( 'buyer', $user->roles )){
return home_url().'/unmatched-order/';
}
else if(in_array( 'supplier', $user->roles )){
return home_url().'/products-lists/';
}
} else {
return $redirect_to;
}
}
add_filter( 'login_redirect', 'my_login_redirect', 10, 3 );
登录后根据用户角色重定向到特定页面
function my_login_redirect( $redirect_to, $user ) {
//is there a user to check?
if ( isset( $user->roles ) && is_array( $user->roles ) ) {
//check for admins
if ( in_array( 'administrator', $user->roles ) ) {
// redirect them to the default place
return $redirect_to;
} else if(in_array( 'buyer', $user->roles )){
return home_url().'/unmatched-order/';
}
else if(in_array( 'supplier', $user->roles )){
return home_url().'/products-lists/';
}
} else {
return $redirect_to;
}
}
add_filter( 'login_redirect', 'my_login_redirect', 10, 3 );
不需要插件,WordPress可以默认设置为该插件(请参阅开发人员提供的答案)不需要插件,WordPress可以默认设置为该插件(请参阅开发人员提供的答案)。在我的WordPress实例中,它是
/wp login.php
而不是/login/
,但是重定向到=
参数就是这样工作的。我想这会让我在登录后重定向。所以我应该改变这个值?wordpress现在如何将我重定向到my/profile页面?很抱歉,我不是php专家:(谢谢你的帮助!你应该替换“home.com”使用$returnPath
。现在如果你想直接登录个人资料页面。它将按照你的方式工作。Wordpress在获得参数时重定向到特定页面,重定向到
…因此你可以设置,如果你不返回home.com,只需重定向到个人资料页面。我认为我做的一切都不好:($returnPath=get\u设置('siteurl')。/wp login.php?重定向到='.urlencode($\u SERVER['REQUEST\u URI']);我正在使用它,它会一直在最后添加/wp-login.php。每次,不管我从哪个站点进入。当您重定向到$returnPath时(我确信您正在将页面重定向到$returnPath)
,你是要wp login.php吗?重定向到=…
?在我的WordPress实例中,它是/wp login.php
,而不是/login/
,但是重定向到=
参数就是这样工作的。我认为这会在登录后重定向我。所以我应该更改该值吗?现在重定向我时WordPress会怎么做到my/profile页面?很抱歉我不是php专家:(谢谢你的帮助!你应该替换“home.com”使用$returnPath
。现在如果你想直接登录个人资料页面。它将按照你的方式工作。Wordpress在获得参数时重定向到特定页面,重定向到
…因此你可以设置,如果你不返回home.com,只需重定向到个人资料页面。我认为我做的一切都不好:($returnPath=get\u设置('siteurl')。/wp login.php?重定向到='.urlencode($\u SERVER['REQUEST\u URI']);我正在使用它,它会一直在最后添加/wp-login.php。每次,不管我从哪个站点进入。当您重定向到$returnPath时(我确信您正在将页面重定向到$returnPath)
,您正在进行wp login.php吗?重定向到=…
?