web-dev-qa-db-ja.com

エントリIDを含むようにグラビティフォームの確認リダイレクトクエリ文字列を変更する

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を含めるように確認リダイレクトを変更する必要があります。それが可能かどうか疑問に思います。

1

私はそれを考え出した。コードに構文エラーがありました。 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;
}
5