web-dev-qa-db-fra.com

Empêcher la pièce jointe CF7 d'être supprimée

J'utilise un plugin de formulaire de contact 7 pour un formulaire de demande de renseignements et envoie au visiteur deux fichiers locaux joints au courrier de réponse. La fonction que j'ai utilisée est la suivante:

function my_dynamic_attachments($cf7)
{
 $submission = WPCF7_Submission::get_instance();
 $submission->add_uploaded_file('toe', get_template_directory().'/attachment1.pdf');
     $submission->add_uploaded_file('ep', get_template_directory().'/attachment2.pdf'); 
}
add_action( 'wpcf7_before_send_mail', 'my_dynamic_attachments', 10 );

Le problème auquel je suis confronté est que les pièces jointes sont supprimées du serveur après l'envoi de l'e-mail. Elles ne sont donc pas disponibles pour le visiteur suivant. Y a-t-il un moyen d'empêcher que cela se produise?

Merci d'avance!

2
Razvan Costica

En regardant submit() dans WPCF7_Submission, nous voyons un appel à remove_uploaded_files() qui n'a pas de filtre pour l'arrêter. Donc, apparemment, ce que vous essayez de faire n'est pas censé être fait par l'auteur de CF7.

Ainsi, mis à part le fait que l'auteur doit y inclure un crochet, le seul moyen, à mon avis, est de générer votre fichier, puis de créer une copie avant de l'ajouter à la soumission du formulaire, de sorte que votre fichier d'origine reste conservé.

1
kraftner