Как создать дополнительный шаблон электронной почты contact form 7?

Ссылка скопирована
1 ответ

Как создать дополнительный шаблон электронной почты contact form 7? На данный момент возможно создать одно дополнительное письмо. Как можно увеличить количество дополнительных писем до 4? Помогите пожалуйста

Как создать дополнительный шаблон электронной почты contact form 7?

Дополнительно:

А зачем? Какая конечная задача? Может ты не правильное решение придумал..

  • Нужно, чтобы из одной контактной формы уходило 4 разных письма по разным почтовым ящикам с разным содержимым. 2 уже есть изначально. В самом плагине.
  • Ответы:

    Может есть какое-то иное программное решение?

    Нужно решить такую задачу?

    Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

    Заказать помощь
    Лучший ответ
    1
    Ирина WP Ответ

    В Contact Form 7 штатно есть Mail и Mail (2). Четыре разных письма из одной формы через интерфейс плагина сделать нельзя без дополнительного кода или стороннего аддона. Но сама задача решаемая: можно перехватить отправку формы и отправить дополнительные письма через wp_mail().

    Пример через хук wpcf7_mail_sent:

    add_action('wpcf7_mail_sent', function ($contact_form) {
        if ((int) $contact_form->id() !== 123) {
            return;
        }
     
        $submission = WPCF7_Submission::get_instance();
        if (!$submission) {
            return;
        }
     
        $data = $submission->get_posted_data();
     
        wp_mail(
            'manager1@example.com',
            'Новая заявка для отдела 1',
            'Имя: ' . sanitize_text_field($data['your-name'] ?? '')
        );
     
        wp_mail(
            'manager2@example.com',
            'Новая заявка для отдела 2',
            'Телефон: ' . sanitize_text_field($data['your-phone'] ?? '')
        );
    });

    add_action('wpcf7_mail_sent', function ($contact_form) { if ((int) $contact_form->id() !== 123) { return; } $submission = WPCF7_Submission::get_instance(); if (!$submission) { return; } $data = $submission->get_posted_data(); wp_mail( 'manager1@example.com', 'Новая заявка для отдела 1', 'Имя: ' . sanitize_text_field($data['your-name'] ?? '') ); wp_mail( 'manager2@example.com', 'Новая заявка для отдела 2', 'Телефон: ' . sanitize_text_field($data['your-phone'] ?? '') ); });

    Если письма должны иметь разное содержимое и разные условия отправки, лучше хранить шаблоны не прямо в коде, а хотя бы аккуратно собрать их в отдельных функциях.

    Если нужно просто отправить одно и то же письмо на несколько адресов, не создавайте 4 шаблона. В поле To можно указать несколько email через запятую или использовать Cc/Bcc, если это подходит.

    Если нужны именно разные письма по разным отделам, иногда лучше сделать несколько форм или условную маршрутизацию: пользователь выбирает тему обращения, а код отправляет письмо нужному получателю. Для сложной логики удобнее Fluent Forms/Gravity Forms, где уведомлений может быть больше и они настраиваются из админки.

    CF7 можно расширить, но после 2-3 нестандартных уведомлений поддержка через код становится удобнее, чем попытки заставить интерфейс плагина делать то, чего он штатно не умеет.

    Другие ответы (0)

    Пока нет других ответов. Будьте первым, кто поможет автору.

    Ответить на вопрос

    комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *

    Вам также может быть интересно