function $functionName($entry, $form)
{
//corps de la fonction
}
add_action('gform_after_submission_'.$num_formular.'', 'msk_gform_process_user_registration_'.$num_formular.'', 10, 2);
j'ai l'erreur "unexpected $funtionName".
Ce sont des fonction de wordpress.
Je ne peut donc pas changer leur nom et leur nom dépend donc du numéro de formulaire, formulaire qui peut être créé donc à tout moment et donc je ne connais pas le numéro.
Quelqu'un sait comment avoir un nom de fonction qui est dépendant d'un variable et surtout comment écrire tout ça ?
Je suis pas sûre d'avoir bien tout compris mais il serait pas plus simple de mettre le numéro en argument de la fonction et à l’intérieur de la fonction gérer le tout ?
function msk_gform_process_user_registration_192 ($entry, $form) { }
add_action('gform_after_submission_192', 'msk_gform_process_user_registration_192', 10, 2);
mais en mettant le numéro en variable, le code suivant ne fonctionne pas
//sachant que $num_formular est connu (je l'affiche)
// là j'ai une erreur
function msk_gform_process_user_registration_'.$num_formular ($entry, $form) {}
// là cela ne mets pas d'erreur mais cela ne fonctionne pas
add_action('gform_after_submission_'.$num_formular.'', 'msk_gform_process_user_registration_'.$num_formular.'', 10, 2);
et il est conseillé de laisser le numéro dans le nom....
j'ai essayé plein d'écriture mais je ne trouve vraiment pas...
merci de me donner vos conseils
MAïty
merci MalheuNeoSensEight
Je ne pense pas. MAis il est conseillé de laisser le numero dans le nom, sinon la fonction sera appelée trop de fois.
Donc il faut que je trouve la solution de "comment passer une variable dans le nom de la fonction".
j'ai cherché, j'ai trouvé quelques petites choses mais cela ne fonctionne toujours pas...
merci pour votre remarque... je pense que on peut juste se restreindre à la fonction, c'est une fonction php.. peut importe que cela soit wordpress (sauf bien sur que cela restreint les choses)
D'après la doc de add_action , le dernier argument (2 dans ton cas) est le nombre d'argument que peux prendre la fonction, donc si tu as la possibilité de passer à 3 et utiliser l'Id du formulaire comme argument ça serait plus simple.
Donc rester sur un truc comme ça
function msk_gform_proccess_user_registration($entry, $form, $num_formular) {}
add_action('gform_after_submission','msk_gform_proccess_user_registration', 10, 3);
Je ne connais pas WP, mais la variable $form, tu as essayé de faire un var_dump pour voir si le numéro du formulaire n'y est pas ?
merci NeoSensEight ;-) je comprends, ça doit être flou.
très bonne remarque WillyKouassi ..... merci beaucoup ! bon comme je l'ai dit, il vaut mieux passer le numero dans le nom car sinon, cela va s'exécuter beaucoup de fois et comme il y a beaucoup de formulaire... ça va donner un problème de rallentissement de site web je pense.
Je vais quand même tenter ce que tu me dis...
Mais il faut que je trouve quand même une solution pour mettre le numero variable dnas le nom de la fonction.... poru éviter de planter le site d'une lenteur enorme
mais je n'arrive pas à l'appliquer sur mon exemple.. ça fait des erreurs
le add_action s'éxecute effectivement pour un formulaire soumi.
et il y a plein de formulaire.. c'est pour ça qu'il est recommandé de mettre le numero du formulaire dans le nom. Mes tests ne donnent encore rien pour le moment.....
Définir une fonction comme tu le fais n'est pas possible, même les liens que tu donnes ne le mentionne pas. Ne pas confondre définition et appel.
Qui t'a fait cette recommandation ? Parce que je l'ai défini, la fonction ne fait rien, à toi de mettre des var_dump pour voir si tu as les informations que tu veux.
- Edité par WillyKouassi 15 février 2019 à 12:04:38
mince.... du coup je suis bloquée........ merci pour cette info.... du coup je vais arrêter de me prendre la tête.
bon, et bien personne ne m'a fait cette recommandation.
Je l'ai juste déduis pas rapport à ce que j'ai...
et je ne trouvais rien sur la définition d'une fonction avec un nom variable..
mais bon, je me suis dit que cela existait peut être...
du coup..... il me reste l'option de passer la variable dans les paramètres.... sachant que cela risque de ralentir le site. (d'ailleurs, j'ai un problème car je passe la variable dans les paramètres comme tu me l'as dit mais quand je vérifie à l'intérieur de la fonction, la variable est vide)
non, je ne suppose pas, j'ai lu des docs qui disent :
"Attention ! Ce code sera exécuté à chaque soumission de formulaire Gravity Forms… Dangereux et inutile si vous avez de nombreux formulaires GF sur votre site. Même astuce mentionnée précédemment : ajoutez l’ID de votre formulaire dans le nom du filtre gform_after_submission pour pallier à ce problème."
Même dans la doc que tu donnes , l'ID du formulaire est utilisé dans le 1er argument dans le nom du filtre gform_after_submission_ID qui n'a rien à avoir avec le nom de la fonction.. Pourtant c'est si clair
du coup comme cela n'a plus rien à voir, je change de sujet... Et je passe à une recherche sur les globals
merci !
(pas résolu mais part ailleurs vers un autre sujet)
PHP variable dans le nom d'une fonction
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Call me Spaceman
Call me Spaceman
Call me Spaceman