web-dev-qa-db-ja.com

連絡フォーム7を使って、投稿に添付されたpdfを動的に送信する

私はプラグインコンタクトフォーム7を介して投稿に添付されている動的pdfを送信しようとしています。

フックを使用する必要があると思います。

add_action('wpcf7_before_send_mail','send_pdf');

それが私が解決策を探すときに私が最も一般的に使用するのを見たフックであったように。

これは私が持っているものです、私は最初に絶対URLでテストpdfを試していました:

function send_pdf( $cf7 ) {
    if ($cf7->id==741){
        $cf7->uploaded_files = array ( 'pdf' => get_template_directory().'/test.pdf' );
    }
}

これが正しく理解され、連絡フォームIDが正しく、mail2の「添付ファイル」フィールドに[pdf]がある場合、そのpdfは詳細を送信した人に電子メールで送信する必要がありますか。

これはうまくいきませんが、私には電子メールが届きますが、添付ファイルは付いていません。

ここに足りないものがありますか、それとも他の有効な方法を知っているのでしょうか。

1
UzumakiDev

代わりにこれを試してください。 CF7 3.9では、内部の再編がいくつかありました。

add_action('wpcf7_before_send_mail','send_pdf');

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

これでうまくいくはずです。

6
WordPress Mike