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

WordPress PHP实现访客自动登录后跳转至目标页而非首页的问题咨询

问题原因

你当前代码中写死了重定向目标为站点首页home_url(),所以登录完成后统一跳转首页,只需要将用户原本请求的页面地址作为重定向参数传入即可。

修改后完整代码

if(!is_user_logged_in()){
    $creds = array();
    $creds['user_login'] = 'test@test.com';
    $creds['user_password'] = '123456';
    $creds['remember'] = true;
    $user = wp_signon( $creds, false );

    // 先判断登录是否出错,避免异常
    if ( is_wp_error( $user ) ) {
        // 可根据需求自定义错误处理逻辑,这里直接输出错误信息
        echo $user->get_error_message();
        exit;
    }

    // 获取用户原本要访问的目标页面完整地址
    $redirect_url = home_url( $_SERVER['REQUEST_URI'] );

    // 重定向到目标页面
    wp_redirect( $redirect_url );
    // 重定向后必须加exit终止后续代码执行
    exit;
}

补充说明

  • 如果你的触发逻辑在页面模板加载之前执行,$_SERVER['REQUEST_URI']可以准确拿到用户发起请求的原始路径,拼接home_url()后就是完整的目标页地址,自带的查询参数也不会丢失
  • 新增的登录错误判断可以避免账号密码失效、用户被删除等异常场景下的白屏问题
  • 不要遗漏wp_redirect()后的exit语句,否则可能出现重定向异常

内容的提问来源于stack exchange,提问作者Katherine Elizabeth Kath

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 04:54:03