rAthus

[WordPress] destinataire custom pour Contact Form 7 en fonction de l'ID du post et d'un meta ACF

Dec 8th, 2020 (edited)
1,388
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.20 KB | None | 0 0
  1. <?php
  2.  
  3. // ajouter dans la configuration du Contact Form : [hidden post-id]
  4. // ajouter dans le template après l'appel du Contact Form : <script>jQuery('[name="post-id"]').val(<?php the_ID(); ?>);</script>
  5. // ajouter un ACF avec le slug "email_contact" sur les posts, lorsqu'il sera rempli pour un post alors l'email sera envoyé à l'adresse renseignée, sinon à l'adresse par défaut de Contact Form
  6. // ajouter dans functions.php :
  7.  
  8. /* destinataire custom pour Contact Form 7 en fonction de l'id du post et d'un meta ACF email_contact */
  9. function wpcf7_before_send_mail_function($contact_form, $abort, $submission) {
  10.     $posted_datas = $submission->get_posted_data();
  11.     if ($posted_datas['post-id']) {
  12.         $email_contact = get_post_meta(htmlspecialchars($posted_datas['post-id'],ENT_QUOTES), 'email_contact', true);
  13.         if ($email_contact) {
  14.             $properties = $contact_form->get_properties();
  15.             $properties['mail']['recipient'] = $email_contact; // si on veut garder l'admin en second destinataire : $email_contact.','.$properties['mail']['recipient']
  16.             $contact_form->set_properties($properties);
  17.         }
  18.     }
  19.     return $contact_form;
  20. }
  21. add_filter('wpcf7_before_send_mail', 'wpcf7_before_send_mail_function', 10, 3);
Add Comment
Please, Sign In to add comment