重力形式列并排

时间:2014-10-10 22:06:24

标签: wordpress hook gravity-forms-plugin

如果您想知道如何在Wordpress重力表单中使用并排列。

希望这可以节省您的时间。

3 个答案:

答案 0 :(得分:6)

这取自herehere,并简化。

首先转到表单设置,然后将类two-column添加到表单布局。

然后继续在Gravity Form项目的开头添加分节符。 将另一个分节符添加到您希望表单拆分的位置。 然后将类gform_column添加到高级选项卡中的两个分节符。

在此之后转到functions.php并粘贴以下内容(挂钩):

function gform_column_splits($content, $field, $value, $lead_id, $form_id) {
if(!is_admin()) { // only perform on the front end
    if($field['type'] == 'section') {
        $form = RGFormsModel::get_form_meta($form_id, true);

        // check for the presence of multi-column form classes
        $form_class = explode(' ', $form['cssClass']);
        $form_class_matches = array_intersect($form_class, array('two-column', 'three-column'));

        // check for the presence of section break column classes
        $field_class = explode(' ', $field['cssClass']);
        $field_class_matches = array_intersect($field_class, array('gform_column'));

        // if field is a column break in a multi-column form, perform the list split
        if(!empty($form_class_matches) && !empty($field_class_matches)) { // make sure to target only multi-column forms

            // retrieve the form's field list classes for consistency
            $form = RGFormsModel::add_default_properties($form);
            $description_class = rgar($form, 'descriptionPlacement') == 'above' ? 'description_above' : 'description_below';

            // close current field's li and ul and begin a new list with the same form field list classes
            return '</li></ul><ul class="gform_fields '.$form['labelPlacement'].' '.$description_class.' '.$field['cssClass'].'"><li class="gfield gsection empty">';

        }
    }
}

return $content;
}

add_filter('gform_field_content', 'gform_column_splits', 100, 5);

这将关闭ul并打开一个新的,可以是彼此相邻的样式。

现在只需将以下内容添加到您的样式

即可
.gform_wrapper.two-column_wrapper ul.gform_fields {
display: none;
}
.gform_wrapper.two-column_wrapper ul.gform_fields.gform_column {
display: block;
float: left;
width: 50%;
}
.gform_wrapper.two-column_wrapper ul.gform_column li.gsection:first-child {
display: none;
}

这应该是神奇的。

答案 1 :(得分:1)

如果你有Gravity Forms 1.5或更新,你可以使用“Ready Classes”。

对于2列:只需创建两个并排的字段,并将自定义CSS类gf_left_half添加到第一个字段,将gf_right_half添加到第二个字段。

对于3列:对字段使用类gf_left_third,gf_middle_third和gf_right_third。

内联字段:对每个字段使用gf_inline。

对于其他类,包括列表项列,请查看Gravity Forms CSS Ready Classes Documentation

答案 2 :(得分:0)

上面的绝佳解决方案。使用此方法可以使表单具有响应能力:

.gform_wrapper.two-column_wrapper ul.gform_fields {
    display: none;
}

.gform_wrapper.two-column_wrapper ul.gform_fields.gform_column {
    display: block;
}

@media screen and (min-width: 768px) {
    .gform_wrapper.two-column_wrapper ul.gform_fields.gform_column {
        float: left;
        width: 50%;
    }
}

.gform_wrapper.two-column_wrapper ul.gform_column li.gsection:first-child {
    display: none;
}