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

如何通过钩子/过滤器移除Gravity Form列表元素的添加/删除行按钮

移除Gravity Forms列表元素的添加/删除行按钮(编程实现)

你可以通过Gravity Forms提供的gform_pre_render和gform_admin_pre_render钩子,直接修改列表字段的配置来禁用添加/删除按钮,完全不需要CSS隐藏。

具体代码实现

把下面的代码添加到你的主题functions.php文件,或者自定义功能插件中:

// 前端渲染和后台编辑表单时都禁用按钮
add_filter( 'gform_pre_render', 'disable_list_add_remove_buttons' );
add_filter( 'gform_admin_pre_render', 'disable_list_add_remove_buttons' );

function disable_list_add_remove_buttons( $form ) {
    // 替换成你的目标表单ID,留空则作用于所有表单
    $target_form_id = 123;
    if ( $target_form_id && $form['id'] != $target_form_id ) {
        return $form;
    }

    // 遍历表单内所有字段
    foreach ( $form['fields'] as &$field ) {
        // 仅处理列表类型字段
        if ( $field->type === 'list' ) {
            // 禁用添加行按钮
            $field->allowAddRows = false;
            // 禁用删除行按钮
            $field->allowDeleteRows = false;
            // 设置固定的默认行数,根据你的需求调整
            $field->defaultRows = 3;
        }
    }

    return $form;
}

自定义调整说明

  • 指定表单:把$target_form_id的值改成你的表单ID,这样只会影响目标表单的列表字段;如果要作用于所有表单,直接删掉if ( $target_form_id && ... )这段判断。
  • 指定单个列表字段:如果只想禁用某个特定列表字段的按钮,在if ( $field->type === 'list' )里再加一层判断:if ( $field->id === 456 )(替换456为目标字段ID)。
  • 调整默认行数:修改$field->defaultRows的值,设置你需要的静态表格行数。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 14:15:00