【Wordpress】Contact Form7でフォーム別に送信先メールアドレスを切り替える方法

function.phpに以下の内容を追加
フォームが複数あって、事情がある方向けです。

//管理画面で設定したメールアドレス以外のものを上書きして送信する
function wpcf7_before_change_send_mailadd( $cf7 ) {
    if($cf7->id() == 「Contact Form7で生成したフォームのID」){
      WPCF7_ContactForm::get_current();
      $submission = WPCF7_Submission::get_instance();
      // メール送信に関する情報を取得
      $mail = $cf7->prop('mail');
      // メールアドレスの上書き
      $mail['recipient'] = 'test-test@more.com';
      //複数設定したい場合は「,」でつなげる
      //例:$mail['recipient'] = 'test@more.com,test@more.com';
      // 情報を再セット
      $cf7->set_properties( array( 'mail' => $mail ));
    }
}
add_action( 'wpcf7_before_send_mail', 'wpcf7_before_change_send_mailadd', 10, 3 );

注意点

※「Contact Form7で生成したフォームのID」はショートコードのものとは別でフォーム自体の投稿IDを設定します。
→管理画面のフォーム一覧ページ上で確認できるリンクに記載があったりします。
※設定しない場合はフォームすべてが以下の内容に置き換わってしまいます。


この記事が気に入ったらサポートをしてみませんか?