微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Gravityforms 在主题 functions.php

如何解决Gravityforms 在主题 functions.php

我正在使用gravityforms 动态地用数据库值预填充表单,这是有效的。我需要能够指定在构建表单时认选择这些选项中的哪一个,但我找不到这样做的选项。我已经看到了占位符,但我认为这实际上并没有在下拉列表中选择任何内容。一旦我在数组中构建了所有文本/值对并设置了选项,我就找不到任何允许我设置“选定”选项的文档或参考资料。

函数(我在此处进行了编辑)工作正常并填充字段,我只需要填充占位符和/或认选定值。

add_filter('gform_pre_render_1','getFieldValues');
add_filter('gform_pre_validation_1','getFieldValues');
add_filter('gform_pre_submission_filter_1','getFieldValues');
function getFieldValues($form) {
    global $wpdb;
    foreach ($form['fields'] as $field) {
        if ($field->id == '40') {
            // get the list of values from the Database
            $list1Q = "SELECT <data> FROM <table> WHERE <params> = <value>";
            $list1R = $wpdb->get_results($list1Q);
            // Generate a nice array that Gravity Forms can understand
            if (!empty($list1R)) {
                $list1A[] = array();
                foreach ($list1A as $listItem) {
                    // Add current value to the array for dropdown choices
                    $list1C[] = array('text' => $listItem->variable,'value' => $listItem->variable);
                 }
            }
            // Set choices to field
            $field->choices = $List1C;
            ***** THIS IS WHERE I WOULD LIKE TO SET THE SELECTED VALUE *****
        }
    }
    return $form;
}

如果有更好的方法来填充此字段,我愿意接受建议,因为使用此方法加载表单似乎有点慢。否则,我很想知道如何在填充选项后设置选定的选项值。

解决方法

快速回答是,我为“isSelected”找到了一个选项,可以在定义选项时将其包含在数组中。我添加了一个三元运算来匹配我想要选择的内容,并为我设置了“选定的值。

$isSelected = ($listItem->variable == "value I want to select") ? true : false;
$list1C[] = array('text' => $listItem->variable,'value' => $listItem->variable,'isSelected' => $isSelected);

添加三元选择并更改数组推送允许我将值设置为选定。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。