Прикрепление pdf-файла к контактной форме 7 по электронной почте через functions.php [закрыто]


Я пытаюсь прикрепить pdf-файлы к электронному письму вручную, и я провел некоторое исследование по этой теме и нашел этот код :

add_action('wpcf7_before_send_mail','send_pdf');

function send_pdf( $cf7 ) {
    $id = $cf7->id();
    if ($id==2399){
        $submission = WPCF7_Submission::get_instance();
        $submission->add_uploaded_file('pdf', get_template_directory().'/pdf/test.pdf');
    }
}

Странно то, что после отправки электронного письма файл и папка удаляются, но ничего не прикрепляется. Я использую тему и дочернюю тему, и папка помещается в основной каталог тем. Есть какие-нибудь идеи?

Author: Community, 2016-09-17

1 answers

Я нашел то, чего не хватало в коде. Вы также должны добавить это:

add_filter( 'wpcf7_mail_components', 'mycustom_wpcf7_mail_components' );

function mycustom_wpcf7_mail_components( $components ) {
    $components['attachments'][] = get_template_directory().'/pdf/test.pdf';

    return $components;
}

Теперь все работает нормально, и файл прикреплен к электронной почте без необходимости добавлять поля в контактную форму.

 2
Author: cookiemosnter, 2016-09-19 08:33:40