MW WP Form の管理画面にはたくさんの機能が用意されていてとても便利です。
エラーメッセージの文言変更やエラーメッセージの表示位置を変更させたいと言った更なるカスタマイズには、管理画面だけでは設定できない範囲となるので、その設定方法を説明したいと思います。
今回は例として、MW WP Form の管理画面の本文に下記内容を入れました。
※分かりやすくする為、あえてHTMLタグはほとんど使用していません。
氏名 [mwform_text name="名前"]<br>
例:山田太郎<br>
<br>
メール [mwform_text name="メール"]<br>
例:test@example.com<br>
<br>
内容 [mwform_textarea name="内容"]<br>
<br>
[mwform_submitButton]
エラーメッセージの文言を変更する
デフォルトのエラーメッセージは「未入力です。」という文言となります。
これを「※必須項目を入力してください。」という文言に変更したいと思います。
管理画面の「バリデーションルール」の欄は一切さわらず、事前に用意されているフックを使い変更したいと思います。
▼任意の入力フィールドへのバリデーションを追加できるフック
http://plugins.2inc.org/mw-wp-form/manual/filter-hook/mwform_validation/
上記ページにあるサンプルコードを functions.php に追記し、エラーメッセージの文言を変更します。
参考までに今回の例に合わせたコードは下記となります。
// 【MW MW Form】エラーメッセージをカスタマイズ
function my_validation_rule( $Validation, $data, $Data ) {
$Validation->set_rule( '氏名', 'noEmpty', array( 'message' => '※必須項目を入力してください。' ) );
$Validation->set_rule( 'メール', 'noEmpty', array( 'message' => '※必須項目を入力してください。' ) );
$Validation->set_rule( 'メール', 'mail', array( 'message' => '※メールアドレスの形式ではありません。' ) );
$Validation->set_rule( '内容', 'noEmpty', array( 'message' => '※必須項目を入力してください。' ) );
return $Validation;
}
add_filter( 'mwform_validation_mw-wp-form-xxx', 'my_validation_rule', 10, 3 );
※MW WP Form のバージョンアップにともない上記コードを一部修正いたしました。
コメントでご指摘頂きありがとうございました。
functions.php に追記ができたら動作確認をしてみましょう。
先ほど変更したエラーメッセージ「※必須項目を入力してください。」になればOKです!
よくみるとこのエラーメッセージ、「例:山田太郎」の上に記述されているのが分かります。
エラーメッセージの表示位置は、「例:山田太郎」の下にあった方が良いかと思いますので、エラーメッセージの表示位置を変更してみたいと思います。
エラーメッセージの表示位置を変更する
任意の場所にエラーメッセージを表示させる便利なショートコードが用意されています。
▼[mwform_error]
http://plugins.2inc.org/mw-wp-form/manual/shortcode/mwform_error/
このショートコードを任意の場所に挿入するだけでよいのですが注意点がひとつあります。
ただ単に挿入するだけだとエラーメッセージが2つ表示されてしまいます。
何故かというと、
ショートコード [mwform_text] がもつエラー表示も同時に表示されてしまうからです。
では、その [mwform_text] が表示するエラーメッセージをどのように消すのかというと、[mwform_text] の引数 show_error=”” の値を false にしてあげれば非表示となります。
という訳で、今回の例にあわせたコードは下記となります。
赤枠のところが追加した所なので参考にしてもらえればと思います。
氏名 [mwform_text name="氏名" show_error="false"]<br>
例:山田太郎<br>
[mwform_error keys="氏名"]<br>
<br>
メール [mwform_text name="メール" show_error="false"]<br>
例:test@example.com<br>
[mwform_error keys="メール"]<br>
<br>
内容 [mwform_textarea name="内容" show_error="false"]<br>
[mwform_error keys="内容"]<br>
<br>
[mwform_submitButton]
いかがでしょうか。
とても柔軟にカスタマイズできる MW WP Form は素晴らしいですね!
マニュアルも充実しているので合わせてご覧ください。
【動作環境】 WordPress 3.8.1
【プラグイン】 MW WP Form 1.3.3