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

Gravity Forms通用过滤器更新字段值失败求助

解决Gravity Forms通用字段值过滤器失效问题

你遇到的问题出在两个关键点上:

  • $form参数类型判断错误:gform_addon_field_value过滤器里的$form是完整的表单对象(或数组,取决于Gravity Forms版本),不是字符串形式的ID,直接用$form == '18'永远不会匹配成功。
  • else分支错误覆盖所有字段:你的else分支强制返回"no",会把所有不匹配条件的字段值都改成"no",这不符合需求,应该返回原始的$field_value,避免干扰其他字段。

修正后的代码如下:

add_filter( 'gform_addon_field_value', function ( $field_value, $form, $entry, $field_id ) {
    // 根据你的Gravity Forms版本选择对应判断方式
    // 若$form是数组(旧版本),用$form['id']
    // if ( $form['id'] == 18 && $field_id == 12 ) {
    // 若$form是对象(新版本),用$form->id
    if ( $form->id == 18 && $field_id == 12 ) {
        return "yes";
    }
    // 其他情况返回原始字段值,不做修改
    return $field_value;
}, 10, 4 );

额外提醒:表单ID和字段ID建议用数字类型做比较,避免字符串类型转换带来的意外问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 22:45:45