Web制作で役立つメモをWEB MEMO LOG

2016.11.11

【WordPressプラグイン】「MW WP Form」でエラーメッセージをカスタマイズ

簡単にお問い合わせ等のフォームが作成できるプラグイン「MW WP Form」。
フォームの入力エラー時のメッセージをカスタマイズする方法をメモメモ。

▼管理画面のフォーム編集画面

<dl class="formArea">
 <dt>お名前<span class="required">必須</span></dt>
 <dd>[mwform_text name="name" id="name" placeholder="例) 佐藤 太郎" show_error="false"]
[mwform_error keys="name"]</dd>
 	
 <dt>メールアドレス<span class="required">必須</span></dt>
 <dd>[mwform_email name="mail" id="mail" placeholder="例) info@webmemolog.com" show_error="false"][mwform_error keys="mail"]</dd>

<dt>お問合せ内容<span class="required">必須</span></dt>
 <dd>[mwform_textarea name="detail" id="detail" placeholder="例)お問い合わせ内容を入力ください。" show_error="false"][mwform_error keys="detail"]</dd>

</dl>

▼functions.php

//MW WP Form フォーム エラー処理(mwform_validation_mw-wp-form-****の「****」にはフォームの識別コードを入力)
function my_validation_rule( $Validation ) {
    $Validation->set_rule( 'name', 'noEmpty', array('message' => '※お名前を入力してください') );
	$Validation->set_rule( 'mail', 'noEmpty', array('message' => '※メールアドレスを入力してください') );
	$Validation->set_rule( 'mail', 'mail', array('message' => '※メールアドレスの形式ではありません') );
	$Validation->set_rule( 'detail', 'noEmpty', array('message' => '※お問い合わせ内容を入力してください') );
	return $Validation;
}
add_filter( 'mwform_validation_mw-wp-form-****', 'my_validation_rule' );

※値がメールアドレスの形式ではない場合にエラーを返すなど、様々なバリデーションルールがあります。
バリデーションルール | MW WP Form

補足ですが、通知メールに送信者の情報を追加する方法もメモメモ。

▼functions.php

//送信者情報追加(mwform_admin_mail_mw-wp-form-****の「****」にはフォームの識別コードを入力)
add_filter( 'mwform_admin_mail_mw-wp-form-****', 'my_admin_mail' );
function my_admin_mail( $Mail ) {
$Browser = $_SERVER["HTTP_USER_AGENT"];
$Ip = $_SERVER["REMOTE_ADDR"];
$Host = gethostbyaddr($Ip);
$Mail->body .= "\n\n【送信者情報】\n・ブラウザー:" .$Browser. "\n・送信元IPアドレス:" .$Ip. "\n・送信元ホスト名:" .$Host;
return $Mail;
}

About Site

同じことを何度も検索していたりするんで、検索して解決したことを残そうと思いまして。