KH-WEBLOG TOP > WEBメモ > WordPress > ContactForm7のエラーメッセージを個別に変更する:WordPress

ContactForm7のエラーメッセージを個別に変更する:WordPress

WordPressのContactForm7のエラーメッセージは管理画面からだと必須項目のエラーメッセージが共通の文章しか変更できず、フォームによっては不便ですのでエラーメッセージを個別に変更する方法をご紹介します。

コーディング・WordPress化作業を代行します

functions.phpに記述

以下のコードをfunctions.phpに記述します。

add_filter('wpcf7_validate', 'wpcf7_validate_customize', 11, 2);

function wpcf7_validate_customize($result,$tags){

  foreach( $tags as $tag ){
    $type = $tag['type'];
    $name = $tag['name'];
    $post = trim(strtr((string) $_POST[$name], "\n", ""));

//nameで指定
    switch($name){
      case 'menu-name':
		
          if($_POST[$name] == ""){
            $result->invalidate( $name,'選択して下さい' );
          }
        break;


      case 'checkbox-name':
			if($_POST[$name] == ""){
          		$result->invalidate( $name,'チェックして下さい' );
			}
        break;
		
    }

//typeで指定
    switch($type){
      case 'text':
      case 'text*':
		
          if($_POST[$name] == ""){
            $result->invalidate( $name,'必須項目です。' );
          }
        break;


      case 'tel':
      case 'tel*':
		if($_POST[$name] == ""){
          		$result->invalidate( $name,'電話番号を入力してください。' );
	}
        break;
		
    }

  }
  return $result;
}

上記の基本の形からif文で細かいバリデーションの条件分けも可能です。

$result->invalidate()はエラーメッセージを返します。

注意点として、上記のメッセージを変更する際は、ContactForm7側の必須項目を指定する「*」は外した方が良いです。

環境によって必須を外さないと管理画面側の指定が優先されてエラーメッセージが出ないことがあります。

コーディング・WordPress化作業を代行します

WordPressのおすすめ参考書

楽天Kobo電子書籍ストア
¥3,278 (2024/10/06 12:05時点 | 楽天市場調べ)

TAGS

.htaccess ActionScript All in one seo pack Contact Form 7 CSS CSS3 EC-CUBE Flash HTML HTML5 JavaScript jQuery LightBox PHP RSS SEO WordPress アイキャッチ画像 アクセス解析 カスタムフィールド カテゴリー カラーミーショップ カート コメント ショートコード テンプレートタグ ドロップダウンメニュー パーマリンク フォーム フルスクリーン ブログカード プラグイン ページテンプレート ページナビ ページ分割 マウスイベント リダイレクト リンク リンクカード レンタルサーバー ロールオーバー 携帯サイト 条件分岐 正規表現 関連記事