如何通过钩子/过滤器移除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
相关产品推荐
相关产品推荐

