web-dev-qa-db-fra.com

Envoyez dynamiquement le PDF attaché à poster avec le formulaire de contact 7

J'essaie d'envoyer un pdf dynamique qui est attaché à un message via le formulaire de contact du plugin 7.

Je suppose que je dois utiliser le crochet:

add_action('wpcf7_before_send_mail','send_pdf');

Comme c'est le crochet que j'ai vu utilisé le plus souvent lors de la recherche d'une solution.

Voici ce que j'ai, je viens d'essayer avec un pdf de test avec une URL absolue d'abord:

function send_pdf( $cf7 ) {
    if ($cf7->id==741){
        $cf7->uploaded_files = array ( 'pdf' => get_template_directory().'/test.pdf' );
    }
}

Maintenant, si je comprends bien, si l'ID du formulaire de contact est correct et que j'ai [pdf] dans le champ "pièce jointe" de mail2, le fichier pdf doit alors être envoyé par courrier électronique à la personne qui a fourni ses coordonnées?

Pour moi, si cela ne fonctionne pas, je reçois le courrier électronique, mais sans pièce jointe.

Y at-il quelque chose qui me manque ici ou peut-être connaissez-vous une autre méthode qui fonctionne?

1
UzumakiDev

Essayez ceci à la place. Il y a eu une restructuration interne dans CF7 3.9.

add_action('wpcf7_before_send_mail','send_pdf');

function send_pdf( $cf7 ) {
    $id = $cf7->id();
    if ($id==741){
        $submission = WPCF7_Submission::get_instance();
        $submission->add_uploaded_file('pdf', get_template_directory().'/test.pdf');
    }
}

Cela devrait marcher.

6
WordPress Mike