我在wordpres中需要一个非常简单的事情 第一个是: 我有一个名为个人资料的特定页面 - 用户可以编辑他/她的信息并更改密码。 如果有人未登录,则应将其重定向到登录页面。 所以,这将是本页面上的内容
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会检查地址中是否有?=个人资料,并在登录后使用正确的功能重定向到/个人资料。
可以请某人帮我解决第二个代码问题吗? :)谢谢!
答案 0 :(得分:3)
如果您想要自定义重定向,可以像这样使用
$returnPath = get_settings('siteurl') . '/login/?redirect_to=' . urlencode($_SERVER['REQUEST_URI']);
<a href="<?php echo $returnPath;?>">Login link</a>
答案 1 :(得分:1)
我建议您尝试theme my login插件。这样您就可以在登录之前将用户重定向到他所在的同一页面。
答案 2 :(得分:0)
登录后根据用户角色重定向到特定页面
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 );