web-dev-qa-db-ja.com

Functions.phpによるContact Form 7 Eメールへのpdfの添付

私は手動でpdfファイルを電子メールに添付しようとしています、そして私はこのトピックに関するいくつかの研究をしました、そしてこの code を見つけました:

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');
    }
}

奇妙なことに、電子メールが送信された後、ファイルとフォルダは削除されますが、何も添付されません。テーマと子テーマを使用しています。フォルダはメインテーマディレクトリに配置されています。誰かアイデア?

1
cookiemosnter

コードに欠けているものが見つかりました。これも追加する必要があります。

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
cookiemosnter