Zum Inhalt springen
Startseite » CF7 Snippets » Fügen Sie ein Empfängerauswahlfeld hinzu

Fügen Sie ein Empfängerauswahlfeld hinzu

Der folgende Codeausschnitt ist eine nützliche Ergänzung, wenn Sie Formulareinsendungen je nach Auswahl des Benutzers an verschiedene Empfänger weiterleiten müssen.

Beispielsweise können Benutzer in einem Support-Desk-Szenario die relevante Abteilung (Vertrieb, Technik, Abrechnung) aus der Dropdown-Liste auswählen und sicherstellen, dass ihre Anfrage das richtige Team erreicht.

Wir haben CodeWP gebeten, einen Code zu schreiben, der es Benutzern ermöglicht, beim Senden eines Formulars einen Empfänger aus einer auswählbaren Dropdown-Liste auszuwählen.

Hier ist der generierte Code:

<?php
add_action('wpcf7_mail_sent', 'cwpai_wpcf7_selectable_recipient', 10, 1);
function cwpai_wpcf7_selectable_recipient($contact_form) {
    $submission = WPCF7_Submission::get_instance();
    if ($submission) {
        $posted_data = $submission->get_posted_data();
        $recipient = $posted_data['recipient'];
        $mail = $contact_form->prop('mail');
        $mail['recipient'] = $recipient;
        $contact_form->set_properties(array('mail' => $mail));
    }
}
?>

Hier ist die HTML-Struktur (fügen Sie diese in die Formulareinstellungen von Contact Form 7 ein):

<label>Your Email (required)</label>[email* your-email]
<label>Recipient</label>[select recipient "user1@example.com" "user2@example.com"]
<label>Subject</label>[text your-subject]
<label>Your Message</label>[textarea your-message]
[submit "Send"]

Der obige Codeausschnitt greift auf die E-Mail-Send-Aktion von Contact Form 7 zu und ruft die veröffentlichten Formulardaten ab. Anschließend extrahiert er die E-Mail-Adresse des Empfängers aus den veröffentlichten Formulardaten und ruft den aktuell für das Formular konfigurierten Empfänger ab. Die E-Mail-Adresse des Empfängers wird mit dem neu ausgewählten Empfänger aus der Dropdown-Liste aktualisiert. 

Schließlich legt es diese aktualisierte Empfänger-E-Mail als neue Eigenschaft für das Formular fest, sodass die E-Mail an den ausgewählten Empfänger gesendet wird.