web-dev-qa-db-fra.com

Comment exécuter un script côté serveur lorsque le formulaire de contact 7 est soumis?

Je suis nouveau sur wordpress et j'essaie de créer un formulaire simple. J'utilise actuellement le formulaire de contact 7 et jusqu'à présent, il le trouve à Nice. Mais maintenant, j'essaye d'exécuter un code côté serveur lorsque le formulaire est soumis. Fondamentalement, ce que je veux juste, c’est d’obtenir les variables de publication à partir de la date de soumission afin que je puisse utiliser les données du formulaire dans le script. Je veux toujours la fonctionnalité de courrier électronique qui envoie à l'adresse de messagerie lorsque le formulaire est soumis.

Existe-t-il un moyen simple et plus efficace de le faire sans qu'il soit nécessaire de modifier quoi que ce soit dans le code?

5
drifter

Vous avez besoin du hook wpcf7_before_send_mail qui se déclenche après l'envoi d'un courrier électronique avec succès. Ajoutez simplement ceci dans votre functions.php.

add_action( 'wpcf7_before_send_mail', 'process_contact_form_data' );
function process_contact_form_data( $contact_data ){

    var_dump($contact_data->posted_data);
            $name = $contact_data->posted_data["your-name"];
    $email = $contact_data->posted_data["your-email"];

    echo $name ;
    echo $email;                
}

Vous pouvez accéder aux champs par leur nom dans le tableau $contact_data->posted_data.


Oui. Vous pouvez rediriger vers une autre page avec la fonction javascript ou précédente. Avec javascript, vous devez ajouter la ligne suivante dans Paramètres supplémentaires du formulaire de contact que vous avez créé.

on_sent_ok: "location = 'http://youdomain.com/thankyou.php';"

Mais cela ne vous permettra pas d'utiliser les valeurs envoyées depuis le formulaire. Alors, optez pour une autre méthode.

Rediriger vers thankyou page de la fonction mentionnée ci-dessus. Mais avant de rediriger, définissez les informations que vous souhaitez afficher sur thankyou page dansSESSIONvariables (telles que nom, email, champs du formulaire). Puis sur thankyou page, récupérez ces valeurs et affichez-les. Plus tard, vous pourrez supprimer les variables de session et vérifier à chaque fois si ces variables sont définies. Cela donnera le contrôle sur frapper thankyou url directement à partir du navigateur et affichera le message approprié indiquant que la page n’est pas directement accessible.

7
SachinGutte