You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WordPress未登录用户访问指定页面跳转登录页PHP问题排查

代码无法正常运行的问题分析及修正方案

问题点拆解:

  • 钩子选择错误:admin_init仅在WordPress后台初始化时触发,前台页面访问不会执行该回调函数,导致前台跳转逻辑完全不生效。需替换为前台页面加载阶段触发的template_redirect钩子。
  • is_page()参数不严谨:传入页面ID时应使用整数3220,而非字符串'3220',虽然WordPress会自动类型转换,但直接传整数能避免潜在的识别异常。
  • 跳转URL格式错误:wp_redirect()中的URL末尾带有多余空格,会导致浏览器无法识别有效地址,跳转失败。

修正后的代码:

add_action( 'template_redirect', 'my_redirect_if_user_not_logged_in' );
function my_redirect_if_user_not_logged_in() {
    if ( ! is_user_logged_in() && is_page( 3220 ) ) {
        // 用wp_login_url()可实现登录后返回原页面,也可替换为你的自定义登录地址(注意不要有空格)
        wp_redirect( wp_login_url( get_permalink() ) );
        exit;
    }
}

内容的提问来源于stack exchange,提问作者Newbyy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 22:50:42