[WP Plugin] mw wp form のエラー表示まわりのカスタマイズに関する Tips
先日利用したフォーム作成プラグインに関する memo.
[markdown]
## 特徴
> * [MW WP Form – 柔軟なカスタマイズ性が魅力の WordPress 問い合わせフォームプラグイン MW WP Form 公式マニュアル](https://plugins.2inc.org/mw-wp-form/)
– フォーム内容のメール送信の他、DB への保存も行える。
– フォーム内容の確認画面を挟むことができる。
## エラー表示まわりのカスタマイズ方法
こちらが分かりやすい。
> * [WordPress:「MW WP Form」のエラー表示周りをカスタマイズする際の備忘録 | NxWorld](https://www.nxworld.net/wordpress/wp-plugin-mw-wp-form-error-customize.html)
– name 属性を `$key`
– バリデーションルールを `$rule`
## Tips
### フック名で利用する key は事前に取得する
フック名にある `xxx` の部分は、自身が作成したフォームの `key` にする必要がある。
サーバ・フォーム毎に異なる `key` が振られるため、本番と開発でサーバを分けている場合には、「__事前に `key` を取得する__」必要がある。
“`php:functions.php
add_filter( ‘mwform_error_message_mw-wp-form-xxx’, ‘custom_mwform_error_message’, 10, 3 );
“`
### バリデーションルールは lower case で指定する
バリデーションルールは、公式を参考に「__camel case ではなく、lower case で指定する__」。
[noEmpty](https://plugins.2inc.org/mw-wp-form/validation-rule/noempty/) は `noempty` となる。
> * [バリデーションルール | MW WP Form](https://plugins.2inc.org/mw-wp-form/manual/validation-rule/)
### フォームを送信でエラーが表示される理由
このようなエラーが表示されることがある。
理由は2通り考えられる。
“`prettyprinted
There was an error trying to send your message. Please try again later.
“`
1. サーバ側のメール送信設定が完了していない。
2. フォームの設定情報が足りない。
2 については、何が必須項目か管理画面上からは読み取れない。
フォーム HTML 以外には、下記が省略できず必須項目であるらしい。
– 管理者宛メール設定 > 送信先(E-mailアドレス)
– 管理者宛メール設定 > 本文
### ファイルアップロードではサーバのファイル容量制限を確認する
サーバ側の [php.ini](http://php.net/manual/ja/features.file-upload.common-pitfalls.php) 等で設定されたファイルより大きなファイルをアップロードしようとすると、下記のエラーが表示されて失敗する。
“`prettyprinted
ファイルのアップロードに失敗しました。
“`
管理画面で追加できるバリデーションルール「サイズ制限」よりも先に判定されるので注意すること。
### 確認・送信ボタンの選び方
フォームタグの追加時にボタンの選択肢が多く迷うが、確認・送信ボタン指定すると画面に応じて切り替わるボタンとなる。
画面のカスタマイズが必要なければ、通常はこれでまかなえる。
各画面のカスタマイズは、こちらが参考になりそうだ。
> * [解決!完了画面にならない…初心者向けMW WP Formの確認画面の作り方 | 神奈川県相模原市のWEB制作(ホームページ)、WEBマーケティング インクループ株式会社](https://incloop.com/%E5%88%9D%E3%82%81%E3%81%A6%E3%81%A7%E3%82%82%E4%BD%9C%E3%82%8C%E3%82%8Bmw-wp-form%E3%81%AE%E7%A2%BA%E8%AA%8D%E7%94%BB%E9%9D%A2%E3%81%AE%E4%BD%9C%E3%82%8A%E6%96%B9/)
[/markdown]