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