1

我想问一下wordpress...

我有这样的场景:如果用户没有登录,他应该被重定向到登录/注册页面并再次返回到请求页面的目的地。我使用此代码但无法获取目标网址。

限制页面中的代码:

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

任何人都可以帮助我解决我的问题吗?谢谢你。

4

2 回答 2

2

你缺少的是wp_redirectwp_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].

于 2013-12-29T04:45:17.513 回答
-1

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

<?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();
}?>
于 2012-07-15T09:40:16.923 回答