GravityForms - поле списка с несколькими выпадающими списками в столбце записей

У меня есть список в формах Gravity, созданный с 3 столбцами, но мне нужно, чтобы первый столбец был текстом, второй - раскрывающимся списком с 3 вариантами, а третий столбец - раскрывающимся списком с 3 вариантами. Я могу сделать второй столбец раскрывающимся списком, но не могу получить третий.

Используя этот пост: GravityForms - Поле списка с DropDown для записей столбец - я могу заставить работать следующий код:

add_filter( 'gform_column_input_1_27_2', 'set_column', 10, 5 );
function set_column( $input_info, $field, $column, $value, $form_id ) {
    return array( 'type' => 'select', 'choices' => 'Fluent,Adequate,Basic' );
}

Но если я снова добавлю код и установлю идентификатор gform_column_input

add_filter( 'gform_column_input_1_27_2', 'set_column', 10, 5 );
function set_column( $input_info, $field, $column, $value, $form_id ) {
    return array( 'type' => 'select', 'choices' => 'Fluent,Adequate,Basic' );
}
27_3, получится следующее:

add_filter( 'gform_column_input_1_27_2', 'set_column', 10, 5 );
function set_column( $input_info, $field, $column, $value, $form_id ) {
    return array( 'type' => 'select', 'choices' => 'Fluent,Adequate,Basic' );
}

add_filter( 'gform_column_input_1_27_3', 'set_column', 10, 5 );
function set_column( $input_info, $field, $column, $value, $form_id ) {
return array( 'type' => 'select', 'choices' => 'Fluent,Adequate,Basic' );
}

Возвращает ошибку:

Cannot redeclare set_column() (previously declared in wp-content/themes/xxxxxx/functions.php:40)

Может кто-нибудь объяснить, как мне заставить третий столбец отображать раскрывающийся список, как второй? Спасибо.


person DR_Waynet    schedule 27.09.2019    source источник


Ответы (1)


Вы дважды объявляете функцию set_columns().

Если у них обоих будет одинаковый выбор, вы можете написать это так, чтобы оба фильтра вызывали одну и ту же функцию (без ее повторного объявления):

add_filter( 'gform_column_input_1_27_2', 'set_column', 10, 5 );
add_filter( 'gform_column_input_1_27_3', 'set_column', 10, 5 );
function set_column( $input_info, $field, $column, $value, $form_id ) {
    return array( 'type' => 'select', 'choices' => 'Fluent,Adequate,Basic' );
}

Если вам нужны другие варианты выбора для второй, вы можете переименовать вторую функцию:

add_filter( 'gform_column_input_1_27_2', 'set_column', 10, 5 );
function set_column( $input_info, $field, $column, $value, $form_id ) {
    return array( 'type' => 'select', 'choices' => 'Fluent,Adequate,Basic' );
}

add_filter( 'gform_column_input_1_27_3', 'set_column2', 10, 5 );
function set_column2( $input_info, $field, $column, $value, $form_id ) {
return array( 'type' => 'select', 'choices' => 'One,Two,Three' );
}
person Dave from Gravity Wiz    schedule 27.09.2019