重力表单,如何动态填充多列列表(选择为列)

时间:2016-06-07 15:06:06

标签: php wordpress gravity-forms-plugin

我相信通过这个片段,人们可以在wordpress重力形式中填充一个字段:

add_filter( "gform_field_value_products", "mu_populate_products" );
function mu_populate_products() {
    global $currUserEntry;
    if($currUserEntry){
        $e = rgar( $currUserEntry, '37' );
        alertUser(maybe_unserialize($e));
        return $e; 
    }
}

我可以向您保证$e完全包含在将表单验证到数据库后发送的数据,而37products就是它们应该是的, 我认为问题在于此产品字段是一个包含两列的列表,第一列与此代码段的<select>一致:

add_filter( 'gform_column_input_30_37_1', 'set_column', 10, 5 );
function set_column( $input_info, $field, $column, $value, $form_id ) {
    return array( 'type' => 'select', 'choices' => 'choice 1, choice 2' );
}

任何帮助将不胜感激

1 个答案:

答案 0 :(得分:1)

过了一段时间,这是答案,对于谷歌或许,

function mu_populate_products() {
    global $currUserEntry;
    if($currUserEntry){
        $e = rgar( $currUserEntry, '37' );
        return maybe_unserialize($e); 
    }
}

重点是函数必须返回反序列化的对象,而从db返回字段值的rgar是序列化的,因此使用maybe_unserialize是关键。

还要记住,自Gravity Forms 1.9.10.8以来这是有效的 了解更多信息: https://www.gravityhelp.com/documentation/article/gform_field_value_parameter_name/#3-list-field