rAthus icon

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

rAthus | PRO | 03/16/21 10:00:27 AM UTC (Edited) | 0 ⭐ | 1809 👁️ | Never ⏰ | []
PHP |

1.2 KB

|

None

|

0 👍

/

0 👎

<?php
 
// ajouter dans la configuration du Contact Form : [hidden post-id]
// ajouter dans le template après l'appel du Contact Form : <script>jQuery('[name="post-id"]').val(<?php the_ID(); ?>);</script>
// 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
// ajouter dans functions.php :
 
/* destinataire custom pour Contact Form 7 en fonction de l'id du post et d'un meta ACF email_contact */
function wpcf7_before_send_mail_function($contact_form, $abort, $submission) {
    $posted_datas = $submission->get_posted_data();
    if ($posted_datas['post-id']) {
        $email_contact = get_post_meta(htmlspecialchars($posted_datas['post-id'],ENT_QUOTES), 'email_contact', true);
        if ($email_contact) {
            $properties = $contact_form->get_properties();
            $properties['mail']['recipient'] = $email_contact; // si on veut garder l'admin en second destinataire : $email_contact.','.$properties['mail']['recipient']
            $contact_form->set_properties($properties);
        }
    }
    return $contact_form;
}
add_filter('wpcf7_before_send_mail', 'wpcf7_before_send_mail_function', 10, 3);

Comments