WordPress: Contact Form 7 のフィールドから値を得る
- WordPress: WP Mail SMTP を導入して Gmail からメールを送信する
- WordPress: Contact Form 7 で WebPay の課金リクエストを送信する
- WordPress: Contact Form 7 のフィールドから値を得る
- WordPress: Contact Form 7 のフィールドで注文金額を計算する
Contact Form 7 3.9 beta 以降であれば、wpcf7_before_send_mail アクションのコールバックのなかで WPCF7_Submission のインスタンスからフィールドの値を得ることができる。次のコードはフォームを送信する直前にフォームに割り当てられた id と your-name フィールドの値をテキストファイルに保存する。
add_action( 'wpcf7_before_send_mail', function($contact_form) {
$submission = WPCF7_Submission::get_instance();
if ( $submission ) {
$data = $submission->get_posted_data();
}
$content = $contact_form->id().' ';
$content .= isset($data['your-name']) ? $data['your-name'] : 'nothing';
$path = '/path/to/test.txt';
file_put_contents( $path, $content );
} );
メールの送信を無効にするには set_properties メソッドで skip_mail プロパティの値に true を指定する。
add_action( 'wpcf7_before_send_mail', function($contact_form) {
$contact_form->set_properties( [ 'skip_mail' => true ] );
$submission = WPCF7_Submission::get_instance();
if ( $submission ) {
$name = $submission->get_posted_data('your-name');
}
$path = '/path/to/test.txt';
file_put_contents($path, $name);
} );