Gravity Forms フォームに問題があります。これは複数ページのフォームで、ページ 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 でも呼び出されるので、プラグインがこの値をキャッシュする可能性はありますか? キャッシュ プラグインを使用していないため、機能しない理由がわかりません。