ContactForm7のエラー文言の表示位置を変更したい、一つにまとめたい

目次

前提・準備

2021/9現在、contactform7のバージョンは5.4.2ですが、5.3.2に下げないとフィルターフックが使用できません。
下記サイトよりバージョンダウンしてください。
https://ja.wordpress.org/plugins/contact-form-7/advanced/

functions.phpに記述

// contactform7 エラー位置調整
function wpcf7_custom_item_error_position( $items, $result ) {
  $class = 'wpcf7-custom-item-error';
  $names = array(
    'birth-year', // 変更したい項目のname属性
    'birth-month',
    'birth-day',
  );
  if ( isset( $items['invalid_fields'] ) ) {
    foreach ( $items['invalid_fields'] as $k => $v ) {
      $orig = $v['into'];
      $name = substr( $orig, strrpos($orig, ".") + 1 );
      if ( in_array( $name, $names ) ) {
        $items['invalid_fields'][$k]['into'] = ".{$class}.{$name}";
      }
    }
  }
  return $items;
}
add_filter( 'wpcf7_ajax_json_echo', 'wpcf7_custom_item_error_position', 10, 2 );

エラーメッセージを新しく表示させたい箇所に記述

下記のようにまとめると、3つの項目のうちどれか一つでも満たしていないと、エラーメッセージを一つだけ表示させることができます。

<div class="wpcf7-custom-item-error birth-day birth-year birth-month"></div>

以上です。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

目次