wordpress - 如何重定向到登录页面并再次返回到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 中获取当前 URL,我们可以从全局$wp
对象中获取当前请求并将其附加到站点 url,使用add_query_arg()
. 我们可以在函数的redirect_to
参数中使用结果wp_login_url()
:
wp_login_url( site_url( add_query_arg( array(), $wp->request ) ) );
推荐阅读
- python - 如何使用 python 和 pyrebase 从 firebase 存储中获取文件的大小
- javascript - 未捕获的类型错误:$.ajax 不是函数 | 在使用最新的完整 jQuery 版本时
- java - Dagger 2 Android - 将()依赖项注入 ViewModel 与具有依赖项引用的应用程序
- javascript - 螺旋矩阵:内部函数有效,但在 While 循环中使用时抛出错误
- c# - json.net,如何从相对路径或实际 json 对象反序列化 json 对象
- angular - 你如何 TypeScript 一个承诺的结果?
- django - MultiValueDictKeyError Django 在 /student_form
- html - 选中/取消选中时如何使用相同的关键帧?
- flutter - 结合 GestureDetector 在画布上绘图
- cookies - 从主域读取 cookie?