首页 > 解决方案 > 如何重定向到登录页面并再次返回到wordpress中请求的链接

问题描述

我试着给大家来一个帖子是不是登录,去 wp-login 并在登录后回到请求的链接。干杯!

这是我尝试过的代码:

<?php
$redirect = "http://".$_SERVER[HTTP_HOST].$_SERVER[REQUEST_URI];
if (!is_user_logged_in()) {
    wp_redirect( wp_login_url( $redirect ) );
    exit();
}
?>

并尝试:

<?php
if (!is_user_logged_in() ) {
wp_redirect( '/wp-login.php' . '?redirect_to=' . $_SERVER["REQUEST_URI"] );
exit;
}
?>

登陆 wp-login 时的 URL 正确,请求的所有链接(路径)都是正确的,但在单击登录按钮后,用户不会返回 URL 并转到订阅者的网站主页。

标签: wordpress

解决方案


要在 WordPress 中获取当前 URL,我们可以从全局$wp对象中获取当前请求并将其附加到站点 url,使用add_query_arg(). 我们可以在函数的redirect_to参数中使用结果wp_login_url()

wp_login_url( site_url( add_query_arg( array(), $wp->request ) ) );

推荐阅读