Контактная форма 7 wpcf7_before_send_mail hook - PullRequest
0 голосов
/ 01 февраля 2019

Используя контактную форму 7, мне нужно добавить дополнительный контент в «тело» сообщения.Основываясь на Google и многочисленных поисках здесь, я пришел к следующему:

 add_action ('wpcf7_before_send_mail', 'cellarweb_add_to_message', 10, 2);

function cellarweb_add_to_message($additional_mail, $contact_form) {
    $submission = WPCF7_Submission::get_instance();
    $wpcf7      = WPCF7_ContactForm::get_current();
    $extracontent = "<p>This is more text for the message body.</p>";

    $mail         = $wpcf7->prop('mail');
    $mail['mail']['body'].= $extracontent ;
    // Save the email body
            $wpcf7->set_properties(array(
                "mail" => $mail
            ));
    return $wpcf7;
}

Я подозреваю, что я не использую правильный объект или не изменяю правильный объект.

Что такоеправильный способ добавить текст в тело сообщения CF7?

1 Ответ

0 голосов
/ 11 июня 2019

Я думаю, вам не хватает места при добавлении контента.Пожалуйста, проверьте код ниже.

add_action( 'wpcf7_before_send_mail', 'wpcf7_add_text_to_mail_body' );

function wpcf7_add_text_to_mail_body($contact_form){
    $mail = $contact_form->prop( 'mail' );
    $wpcf7      = WPCF7_ContactForm::get_current();
    $submission = WPCF7_Submission::get_instance();
    if ($submission) { 
         $posted_data = $submission->get_posted_data();
    }
    $extracontent = "<p>This is more text for the message body.</p>";
    $mail['body'] .= '<br>';
    $mail['body'] .= $extracontent
    $contact_form->set_properties( array( 'mail' => $mail ) );
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...