如何重定向到登录页面并在wordpress中再次返回


how to redirect to login page and back again in wordpress

我想问一下wordpress。。。

我有这样一个场景:如果用户没有登录,他应该被重定向到login/reg页面,然后再次返回到请求页面的目的地。我使用此代码,但无法获取目的地url。

页面中限制的代码:

if (user-no-login){wp_redirect( get_option('home') . '?redirect_to=' . esc_url($_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"]) );}

登录代码,我尝试回显,但只将<site_url>/?page=login作为($_REQUEST['redirect_to']),而应该是<site_url>/food/rice?red=1

有人能帮我解决问题吗?非常感谢。

您缺少的是wp_redirect和wp_login_url

if (!is_user_logged_in()) {
    wp_redirect( wp_login_url( $redirect ) );
    exit();
}

注意:$redirect变量"必须是绝对的,如http://example.com/mypage/"所以在这种情况下:$redirect = "http://".$_SERVER[HTTP_HOST].$_SERVER[REQUEST_URI].

创建一个页面模板。上面有这个代码:

<?php
/*
Template Name: Redirect
*/
?>
<?php if (!is_user_logged_in())
{
    header("Location: http://example.com/wp-login.php");
}
else
{
    get_header();
    //page code
    get_footer();
}?>