目次
前提・準備
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>
以上です。
コメント