Gravity Forms送信からのエントリIDをリダイレクト確認に挿入する必要があります。私の問題は、管理者インターフェースで確認を作成しようとすると、IcanエントリIDを隠しフィールドに挿入できますが、すべてが起動してクエリがレンダリングされるまで存在しないことです。空白の文字列(他のものはまだ動作しますが)。私はgform_confirmation
にフックすることによってそれが起こる前に確認をつかんでその場でそれを変更することによってアクセスすることができるだろうと思っていました、しかしそれはまたうまくいかないようです。これが私の現在の functions.php への入力です。
add_action("gform_confirmation", "custom_confirm", 10, 4);
function custom_confirm($confirmation, $form, $lead, $is_ajax){
$url = $confirmation . "&rma" . $lead['id'];
$confirmation = array('redirect' => $url);
}
お分かりのように、私は単に "&rma = [entry-id]"に取り組もうとしていますが、$lead['id']
が私がアクセスする必要がある正しい変数ですらないのですが。また、最後の割り当てが適切な方法でURLを変更しているかどうかもわかりません。
TL; DR:エントリIDを含めるように確認リダイレクトを変更する必要があります。それが可能かどうか疑問に思います。
私はそれを考え出した。コードに構文エラーがありました。 add_filter
ではなくadd_action.
であるべきです。また、$confirmation
は配列であり、返されることはありません。私は私の脳がこんなに長い間見ていて疲れたと思います。とにかく、これが私がそれを修正するためにしたことです。
add_filter("gform_confirmation", "confirm_change", 10, 4);
function confirm_change($confirmation, $form, $lead, $ajax){
$url = get_bloginfo('url') ."/thank-you/?page=". $lead['1']. "&rma=" . ($lead['id']);
$confirmation = array('redirect' => $url);
return $confirmation;
}