特定のフォーム用に独自のバリデーションメッセージをカスタマイズする

WPForms で特定のフォームに固有のバリデーションメッセージをカスタマイズしたいですか?WPForms ではグローバルにバリデーションメッセージをカスタマイズすることができますが、フォームごとに異なるメッセージを使いたい場合もあるでしょう。

このチュートリアルでは、PHP コードスニペットを使って特定のフォームの固有のバリデーションメッセージを変更する方法を紹介します。

コード・スニペットの追加

特定のフォームに対する固有のバリデーションメッセージをカスタマイズするには、以下のPHPコードスニペットをサイトに追加する必要があります。コードスニペットをサイトに追加する際にヘルプが必要な場合は、こちらのチュートリアルをご覧ください

add_action( 'wpforms_wp_footer_end', 'wpf_custom_unique_validation_message' );
function wpf_custom_unique_validation_message() {
    ?>
    <script type="text/javascript">
    document.addEventListener('DOMContentLoaded', function() {
        // Target the specific form by ID
        var form = document.querySelector('#wpforms-100');
        if (form) {
            function replaceErrorMessage() {
                var errorMessages = form.querySelectorAll('.wpforms-error');
                errorMessages.forEach(function(messageElement) {
                    if (messageElement.textContent.includes('The value must be unique.')) {

                    messageElement.textContent = 'This value is already in use. Please enter a unique value.';
                    }
                });
            }
            replaceErrorMessage();
            new MutationObserver(replaceErrorMessage).observe(form, {
                childList: true,
                subtree: true
            });
        }
    });
    </script>
    <?php
}

コードのカスタマイズ

このコードをあなたの特定のフォームで使えるようにするには、いくつかの調整が必要です:

  1. 交換 #wpforms-100 をご記入ください。ID番号の見つけ方については このチュートリアルをご覧ください。.
  2. この行のカスタム・エラー・メッセージを修正する: messageElement.textContent = 'This value is already in use. Please enter a unique value.'; テキストをご希望のカスタムメッセージに置き換えてください。

これで完了です!これで、特定のフォームに固有のバリデーションメッセージをカスタマイズすることができました。

次に、フォームバリデーションのカスタマイズについてもっと知りたいですか?WPFormsのバリデーションメッセージをカスタマイズする方法についてのチュートリアルをご覧ください。