MW WP Formで個人情報をメールでは送らずにデータベースにだけ保存する方法

セキュリティーの観点から、お問い合わせフォームから受け付けた内容をメールでは送らずに、データベースにだけ保存したい場合があると思います。

MW WP Formでは管理画面で「問い合わせデータをデータベースに保存」にチェックしてあるときに、管理者宛メール設定メタボックスにある「本文」に入力された「{キー}」の値がデータベースに保存されます。そして、実際に送信されるメールの内容はフックで変更することができるので、次のようにすればメールでは送らずに、データベースにだけ保存するということが可能です。

管理画面 管理者宛メール設定メタボックスの本文

データベースに保存したい項目のname属性を{}で囲んで記述します。

...
{お名前}
{ご住所}
{内容}
...

functions.php

/**
 * 管理者宛メール
 * @param  Mail  $Mail  メールオブジェクト
 * @param  Array  $values  データ
 * @param  MW_WP_Form_Data $Data
 * @return  Mail  $Mail  メールオブジェクト
 */
function my_admin_mail( $Mail, $values, $Data ) {
	// 本文を変更
	$Mail->body = 'お問い合わせがありました。';
	return $Mail;
}
add_filter( 'mwform_admin_mail_mw-wp-form-2899', 'my_admin_mail', 10, 3 );

/**
 * 自動返信メール
 * @param  Mail  $Mail  メールオブジェクト
 * @param  Array  $values  データ
 * @param  MW_WP_Form_Data $Data
 * @return  Mail  $Mail  メールオブジェクト
 */
function my_auto_mail( $Mail, $values, $Data ) {
	// 本文を変更
	$Mail->body = 'お問い合わせを受け付けました。';
	return $Mail;
}
add_filter( 'mwform_auto_mail_mw-wp-form-2899', 'my_auto_mail', 10, 3 );
  • ブックマーク
  • Feedly

この記事を書いた人

キタジマタカシ

長崎在住、フリーランスのWordPress テーマ / プラグインデベロッパー。 多数のプロダクトをオープンソースで開発・公開しています。現在は WordPress 有料テーマ Snow Monkey を開発・販売しています。