Help us understand the problem. What is going on with this article?

Contact Form 7の特定の項目のエラーメッセージの位置を変更する

色々迷子したので残しておきます。

参考にした文献
Contact Form 7で特定の入力項目のエラーメッセージの位置を変更する
Contact Form 7のエラーメッセージの表示位置を変更する
wordpress:ContactForm7でvar_dumpしたい

開発環境
WordPress 5.4.2
Contact Form 7 5.2.1

とりあえず前置きいいから、上記環境で動くコードは下記通り。

function wpcf7_custom_item_error_position( $items, $result ) {
    $class = 'wpcf7-custom-item-error';
    $names = array( 'sample' );

    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 );

Contact Form 7のエラーメッセージの表示位置を変更する で書かれている通り、
Contact Form のバージョンによって設定情報が変更になる。
その都度変更情報を確認して、該当箇所を変更する必要がある。

変更箇所の確認方法は、
wordpress:ContactForm7でvar_dumpしたい
で記載のある通り、
chromeのデベロッパーツールならNetwork→XHR→Response
で確認することができる。

FireFoxだと
ネッワーク→XHR→応答
で確認できた。

sutomana
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away