Je dois en quelque sorte insérer l'identifiant d'entrée d'une soumission Gravity Forms dans une confirmation de redirection. Mon problème est que, lors de la tentative de création d'une confirmation via l'interface d'administration, I can insère l'identifiant de l'entrée dans un champ masqué, mais il n'existe pas avant que tout soit déclenché, rendant ma chaîne de requête vide bien que les autres fonctionnent toujours). Je pensais qu'en m'accrochant à gform_confirmation
, j'aurais accès en saisissant la confirmation avant qu'elle ne se produise et en la changeant à la volée, mais cela ne semble pas fonctionner non plus. Voici ce que je suis actuellement entré dans mon 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);
}
Comme vous pouvez le constater, j'essaie simplement de coller sur "& rma = [ entry-id ]" bien que je ne sois pas sûr que $lead['id']
soit même la bonne variable à laquelle je dois accéder. Aussi pas sûr si la dernière affectation change l'URL de la bonne manière.
TL; DR: Je dois changer la redirection de confirmation pour inclure l'ID d'entrée et je me demande même si c'est possible.
Je l'ai compris. J'ai eu quelques erreurs de syntaxe dans mon code. Aurait dû être add_filter
au lieu de add_action.
De plus, $confirmation
est un tableau et n'a jamais été retourné. Je pense que mon cerveau était juste fatigué de regarder cela depuis si longtemps. Quoi qu'il en soit, voici ce que j'ai fait pour le réparer.
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;
}