こんにちは、ryohei(@ityryohei)です!

本記事では、WM WP Formで出力するエラーメッセージを変更する方法をご紹介しています。

MW WP Formでエラーメッセージを変更したいな~良い方法ないかな?

上記の疑問にお答えしています。

では、解説していきます。

MW WP Formのマニュアルについて

MW WP Formは開発者の方が提供されている公式のマニュアルがあります。下記のリンク先がマニュアルになります。

https://plugins.2inc.org/mw-wp-form/manual/

とても読みやすく、理解しやすいので公式マニュアルがあれば大抵の事は実現できるかと思います。同プラグインでフォームを作成する場合に参考にしていただければと思います。

今回はMW WP Formでエラーメッセージを変更します。マニュアルでいうところの下記のページの内容となります。

https://plugins.2inc.org/mw-wp-form/filter-hook/mwform_error_message/

上記のマニュアルを参考に、エラーメッセージを変更していきます。

MW WP Formでエラーメッセージを変更してみる

今回はMW WP Formで作成した下記のフォームを使用します。お名前・メールアドレス・お問い合わせ内容で構成されたよくあるお問い合わせフォームです。すべてのバリデーションルールに必須を追加しています。確認ページを挟んでいるので、戻るボタンや入力確認ボタンを設置しています。

使用するフォーム

<div id="app">
    <table>
        <tr>
            <th>お名前</th>
            <td>[mwform_text name="お名前"]</td>
        </tr>
        <tr>
            <th>メールアドレス</th>
            <td>[mwform_email name="メールアドレス"]</td>
        </tr>
        <tr>
            <th>お問い合わせ</th>
            <td>[mwform_textarea name="お問い合わせ内容"]</td>
        </tr>
    </table>
    <div class="btn-group">
        [mwform_backButton value="戻る"]
        [mwform_submitButton name="送信" confirm_value="入力内容確認" submit_value="送信する"]
    </div>
</div>

上記のままだと、必須項目を入力しなければ「未入力です。」というエラーメッセージが表示されます。

このメッセージの内容をフィルターフックで変更します。下記を使用するテーマ内の「functions.php」に追加します。位置に指定はありませんので、行頭・行末問わず任意の行に追加してください。

PHP

function my_error_message($error, $key, $rule){
    if($key === 'お名前' && $rule === 'noempty'){
        return 'お名前が入力されていません';
    }
    return $error;
}
add_filter('mwform_error_message_mw-wp-form-xxx', 'my_error_message', 10, 3);

mwform_error_message_mw-wp-form-xxx」の「xxx」部分には管理画面で作成したフォームの「key」を指定します。

複数の項目を変更する場合は項目分追加していきます。

PHP

function my_error_message($error, $key, $rule){
    if($key === 'お名前' && $rule === 'noempty'){
        return 'お名前が入力されていません';
    }
    if($key === 'メールアドレス' && $rule === 'noempty'){
        return 'メールアドレスが入力されていません';
    }
    return $error;
}
add_filter( 'mwform_error_message_mw-wp-form-xxx', 'my_error_message', 10, 3 );

以上で完了です。実際にフォームで確認すると表示されるエラーメッセージが変更されています。

その他バリデーションルール

本記事では必須項目を例にあげましたが、MW WP Formで指定可能なバリデーションルールが豊富にあります。下記のページに詳しい記載ありますので、参考にしてください。

https://plugins.2inc.org/mw-wp-form/manual/validation-rule/

微妙に違いがあるかもしれないので、実際に使用する場合は第三引数の「$rule」の中身をダンプすることで適用されているルールがわかるかと思います。

最後に

Webサイトを作成する上でお問い合わせやエントリーといったフォームは必ず必要になります。WordPressを使用する場合はMW WP Formをインストールして少し設定するだけでフォームを構築することができるので、工数を減らすことができるので助かりますね。

今後も制作するサイトで使用させていただきたいと思います!

以上、WordPressのMW WP Formでエラーメッセージを変更する方法のご紹介でした!