重力フォームに問題があります。これは複数ページのフォームで、1ページのポスト値を使用して2ページにフィールドを設定する必要がありますが、動作しません。もちろん、2ページ目のフィールドは「フィールドに動的に値を設定できるように」設定され、フィールドのパラメータは「名前」に設定されています。私はvar_dump($name);
を使用して$name
変数の値を印刷するとき重力フォームプラグイン - 動的に入力されているフォームフィールドが機能していません
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
を$name = 'Last Middle First';
に変更すると、それはフィールドに値を設定する必要があります。
ありがとうございました。
編集:私はvar_dump
と行のコメントを解除した場合、変数$name
の値が再度正しく設定されていますが、2ページフィールドがが事前に入力されてい
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;
}
:テスト目的のために 私はに私のコードを変更しました値Test
。おそらくこのフィルタは1ページでも呼び出されているので、プラグインがこの値をキャッシュする可能性はありますか?私はキャッシュプラグインを使用しないので、なぜそれが動作していないのか分からない。
var dumpするときは、2ページ目か最初のページで行っていますか? –
var_dumpは 'return'の直前のfunction.phpファイルのname_population_functionに置かれ、最初のページはすでに送信されていました。 – user1832297
遅く投稿して申し訳ありませんが、他の誰かがこの問題を抱えている場合は、AJAXポスティングを使用して実際にページからコンテンツを投稿するのではなく、ページの外観を与えるためにフォームの一部を表示/非表示することがわかりました。 AJAXの投稿を無効にすると、あるページから後のページにフィールドを移入することができました。本当にAJAXポスティングが有効になっている場合は、JavaScriptフックを使用してこれを動作させる必要があります。 – mj7