我的重力表格表格有一些问题。这是一个多页表单,我需要使用第 1 页中的帖子值填充第 2 页上的字段。但它不起作用。当然,第 2 页上的字段配置为“允许动态填充字段”,并且该字段的参数设置为“名称”。这是我的代码:
add_filter('gform_field_value_name', 'name_population_function');
function name_population_function($value){
$name = $_POST['input_2'] . ' ' . ( ! empty( $_POST['input_3'] ) ? ( $_POST['input_3'] . ' ' ) : NULL ) . $_POST['input_1'];
return $name;
}
当我使用它打印$name
变量的值时,var_dump($name);
它实际上是正确的。
如果我将它更改$name
为$name = 'Last Middle First';
它应该填充该字段。
谢谢您的帮助。
编辑:出于测试目的,我将代码更改为:
add_filter('gform_field_value_name', 'name_population_function');
function name_population_function($value){
$name = 'Test';
if ( ! empty( $_POST['input_1'] ) && ! empty( $_POST['input_2'] ) ) {
$name = $_POST['input_2'] . ' ' . ( ! empty( $_POST['input_3'] ) ? ( $_POST['input_3'] . ' ' ) : NULL ) . $_POST['input_1'];
//var_dump( $name );
}
return $name;
}
如果我取消注释带有var_dump
variable 值的行$name
再次正确设置,但第 2 页上的字段预填充了 value Test
。可能在第 1 页上也调用了这个过滤器,所以插件是否有可能缓存这个值?我不使用缓存插件,所以不知道为什么它不起作用。