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

Gravity Forms表单构建器:为所有字段类型添加高级标签页新字段

解决Gravity Forms高级标签页Meta Tag字段仅对文本字段生效的问题

嘿,我看你现在遇到的问题是:在Gravity Forms表单构建器的高级标签页添加了Meta Tag字段,但它只对文本字段显示,想让所有字段类型都能看到这个设置对吧?这是因为你没把这个设置项注册到所有字段的高级设置列表里,我给你整理了完整的解决方案:

完整代码实现

// 1. 在字段设置的指定位置渲染Meta Tag输入框
add_action( 'gform_field_settings', 'add_meta_tag_field_setting', 10, 2 );
function add_meta_tag_field_setting( $position, $form_id ) {
    // 位置25对应高级标签页内的展示位置,可根据需求调整
    if ( 25 == $position ) {
        ?>
        <li class="meta_tag_setting field_setting">
            <label for="field_meta_tag" class="section_label">
                <?php _e( 'Meta Tag' ); ?>
                <?php gform_tooltip( 'form_field_meta_tag_tooltip' ) ?>
            </label>
            <input type="text" name="field_meta_tag" id="field_meta_tag" value="{{field_meta_tag}}" class="fieldwidth-3" />
        </li>
        <?php
    }
}

// 2. 注册Meta Tag对应的工具提示(可选,但提升用户体验)
add_filter( 'gform_tooltips', 'add_meta_tag_tooltip' );
function add_meta_tag_tooltip( $tooltips ) {
    $tooltips['form_field_meta_tag_tooltip'] = '<h6>Meta Tag</h6> 设置此字段关联的元标签名称,用于后续数据的自定义输出或处理。';
    return $tooltips;
}

// 3. 保存Meta Tag的输入值到字段属性中
add_action( 'gform_field_updated', 'save_meta_tag_field_setting', 10, 2 );
function save_meta_tag_field_setting( $field, $form_id ) {
    if ( isset( $_POST['field_meta_tag'] ) ) {
        $field['meta_tag'] = sanitize_text_field( $_POST['field_meta_tag'] );
    }
    return $field;
}

// 4. 关键:让所有字段类型的高级标签页都加载这个设置项
add_filter( 'gform_advanced_field_settings', 'include_meta_tag_in_all_fields' );
function include_meta_tag_in_all_fields( $settings ) {
    $settings[] = 'meta_tag_setting';
    return $settings;
}

代码说明

  • 步骤1:负责在高级标签页的指定位置渲染Meta Tag的输入框,$position = 25是你原来设定的展示位置,保持不变即可。
  • 步骤2:给这个设置项添加工具提示,用户hover时能看到功能说明,可选但建议保留以提升体验。
  • 步骤3:处理表单保存逻辑,把用户输入的Meta Tag值存储到字段的meta_tag属性里,后续你可以通过$field['meta_tag']调用这个值做自定义处理。
  • 步骤4:这是解决你问题的核心!通过gform_advanced_field_settings过滤器,把我们的meta_tag_setting类名添加到所有字段的高级设置列表中,这样所有字段类型(比如单选框、下拉选择、日期字段等)都会在高级标签页显示这个Meta Tag设置项。

把这段代码替换你原来的代码,或者添加到主题的functions.php文件里,就能实现所有字段都能看到这个Meta Tag设置啦。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 08:36:50