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

Gravity Forms WordPress按用户角色跳转:新增角色判断条件求助

你可以通过新增 elseif 条件分支的方式扩展多角色跳转规则,修改后的代码示例如下:

add_filter( 'gform_user_registration_login_redirect_url', 'gf_redirect_user_role', 10, 2 );
function gf_redirect_user_role( $login_redirect, $sign_on ) {
    GFCommon::log_debug(  __METHOD__ . '(): Running...' );
    // 订阅者跳转规则
    if ( in_array( 'subscriber', $sign_on->roles ) ){
        $login_redirect = 'https://subscriber-url'; // 替换为订阅者跳转地址
        GFCommon::log_debug(  __METHOD__ . '(): 订阅者跳转至 ' . $login_redirect );
    } 
    // 编辑角色跳转规则,可按需复制新增更多分支
    elseif ( in_array( 'editor', $sign_on->roles ) ) {
        $login_redirect = 'https://editor-url'; // 替换为编辑角色跳转地址
        GFCommon::log_debug(  __METHOD__ . '(): 编辑跳转至 ' . $login_redirect );
    }
    // 管理员跳转规则
    elseif ( in_array( 'administrator', $sign_on->roles ) ) {
        $login_redirect = 'https://admin-url'; // 替换为管理员跳转地址
        GFCommon::log_debug(  __METHOD__ . '(): 管理员跳转至 ' . $login_redirect );
    }
    // 可选:所有未匹配到的角色统一跳转地址,不需要可以删除
    else {
        $login_redirect = 'https://default-url';
        GFCommon::log_debug(  __METHOD__ . '(): 其他角色跳转至 ' . $login_redirect );
    }
    return $login_redirect;
}

注意事项

  • 条件里填写的是用户角色的slug标识,不是前端显示的角色名称,默认WordPress内置角色的slug分别是:管理员administrator、编辑editor、作者author、贡献者contributor、订阅者subscriber,自定义角色直接填写你注册时用的slug即可
  • 角色判断是按分支顺序匹配的,若用户同时拥有多个角色,只会触发第一个匹配到的分支规则
  • 开启Gravity Forms调试模式后,可以通过日志确认对应角色的跳转逻辑是否正常触发

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 09:06:03