[WP Plugin] mw wp form のエラー表示まわりのカスタマイズに関する Tips

先日利用したフォーム作成プラグインに関する memo.

特徴

  • フォーム内容のメール送信の他、DB への保存も行える。
  • フォーム内容の確認画面を挟むことができる。

エラー表示まわりのカスタマイズ方法

こちらが分かりやすい。

  • name 属性を $key
  • バリデーションルールを $rule

Tips

フック名で利用する key は事前に取得する

フック名にある xxx の部分は、自身が作成したフォームの key にする必要がある。
サーバ・フォーム毎に異なる key が振られるため、本番と開発でサーバを分けている場合には、「事前に key を取得する」必要がある。

functions.php
add_filter( 'mwform_error_message_mw-wp-form-xxx', 'custom_mwform_error_message', 10, 3 );

バリデーションルールは lower case で指定する

バリデーションルールは、公式を参考に「camel case ではなく、lower case で指定する」。
noEmptynoempty となる。

フォームを送信でエラーが表示される理由

このようなエラーが表示されることがある。
理由は2通り考えられる。

There was an error trying to send your message. Please try again later.
  1. サーバ側のメール送信設定が完了していない。
  2. フォームの設定情報が足りない。

2 については、何が必須項目か管理画面上からは読み取れない。
フォーム HTML 以外には、下記が省略できず必須項目であるらしい。

  • 管理者宛メール設定 > 送信先(E-mailアドレス)
  • 管理者宛メール設定 > 本文

ファイルアップロードではサーバのファイル容量制限を確認する

サーバ側の php.ini 等で設定されたファイルより大きなファイルをアップロードしようとすると、下記のエラーが表示されて失敗する。

ファイルのアップロードに失敗しました。

管理画面で追加できるバリデーションルール「サイズ制限」よりも先に判定されるので注意すること。

確認・送信ボタンの選び方

フォームタグの追加時にボタンの選択肢が多く迷うが、確認・送信ボタン指定すると画面に応じて切り替わるボタンとなる。
画面のカスタマイズが必要なければ、通常はこれでまかなえる。

各画面のカスタマイズは、こちらが参考になりそうだ。