web-dev-qa-db-fra.com

Formulaire de contact 7 - traiter le formulaire à l'aide d'un PHP script, au lieu de mailing

Je souhaite utiliser un formulaire du plug-in Contact Form 7 pour permettre aux utilisateurs de télécharger un document sur mon site Web. Le problème est que j'aimerais gérer ces envois à partir de WordPress au lieu de les recevoir dans mon courrier électronique.

Existe-t-il un moyen de rediriger la sortie de ces formulaires vers un script PHP, ou quelque chose de similaire?

5

Jetez un coup d'œil au crochet wpcf7_before_send_mail fourni par CF7.

add_action("wpcf7_before_send_mail", "wpcf7_do_something_else_with_the_data");
function wpcf7_do_something_else_with_the_data(&$wpcf7_data)
{

    // Everything you should need is in this variable
    var_dump($wpcf7_data);

    // I can skip sending the mail if I want to...
    $wpcf7_data->skip_mail = true;

}
6
Brady

Utiliser var_dump ici n'est pas une bonne idée car vous allez écrire la sortie dans le tampon et casser la soumission du formulaire. Utilisez plutôt les fonctions error_log wordpress avec print_r ou var_dump avec le code suivant:

ob_start();                      // start buffer capture
var_dump($wpcf7_data);           // dump the values
$contents = ob_get_contents();   // put the buffer into a variable
ob_end_clean();                  // end capture
error_log($contents);            // Write to wp-content/debug.log (enable debug mode to see it).
2
berturion