首页 > 解决方案 > 如何禁用某些重力形式 ID 的渲染 HTML 代码?

问题描述

我需要HTML在我的Gravity Form.

我已经找到了这样的东西:

add_filter( 'gform_field_content', function ( $field_content, $field, $value ) {
    if ( $field->id == 2 ) {
        if ( $field->is_entry_detail_edit() ) {
            $value = esc_attr( $value );
            $name  = 'input_' . esc_attr( $field->id );

            return "<input type='hidden' name='{$name}' value='{$value}'>";
        } elseif ( $field->is_entry_detail() ) {
            return '';
        }
    }

    return $field_content;
}, 10, 3 );

那个会隐藏我的 id,但HTML仍然呈现。

我想我需要使用filter => gform_pre_render

有人给我一些建议好吗?

标签: wordpressgravityforms

解决方案


您提供的代码可防止在条目详细信息部分输出 html。不是主窗体输出。

尝试这样的事情:

add_filter( 'gform_field_content', function ( $field_content, $field, $value ) {
    if ( $field->id == 2 ) {
        // Show the field in entry_detail and form editor
        if ( GFCommon::is_entry_detail_view() || GFCommon::is_form_editor()) {
            return $field_content;
        }

        // Otherwise don't show the field
        return '';
    }

    // Show all other fields
    return $field_content;
}, 10, 3 );

如果你想删除容器列表项标签也试试这个:

add_filter( 'gform_field_container', function ( $field_container, $field, $form, $css_class, $style, $field_content ) {
    if ( GFCommon::is_entry_detail_view() || GFCommon::is_form_editor()) {
        return $field_container;
    }
    if ( $field->id == 2 ) {
        return '';
    }
    return $field_container;
}, 10, 3);

推荐阅读