何のけなしにContact Form 7をアップデートすると「私はロボットではありません」が消えてました。
どうやら5.1以降はreCAPTCHAのAPIがVer3のみ対応となり、今までの[recaptcha]タグが無視されるようになるとの事。
というわけでAPI KEYをまずはV3で取りなおしになります。
Wordpress管理画面の「お問い合わせ」→「インテグレーション」に入力してた物をVer3の物に置き換えると・・・
今度は全てのページの右下にreCAPTCHAのバナーが出っぱなしになりよるんですわね(笑)
なんじゃいその極端な表示の仕方、と思いましてなんぞ設定でどないか出来んかいねと設定項目を探したんですが、そういう項目はまだ追加されていないようで。
とはいえ、せめて送信フォームがある所だけに表示してくれればいいんやけどなあ、と思って色々調べていると、こういう記事を発見しました。
https://wordpress.org/support/topic/how-to-lload-scriptsstyles-and-recatcha-v3-only-when-needed/
WordPressの英語版のフォーラムにfunctions.phpに追加する事によって
「送信フォームが設置してあるページのみにreCAPTCHAのバナーを表示させる」というもの。
function contactform_dequeue_scripts() { $load_scripts = false; if( is_singular() ) { $post = get_post(); if( has_shortcode($post->post_content, 'contact-form-7') ) { $load_scripts = true; } } if( ! $load_scripts ) { wp_dequeue_script( 'contact-form-7' ); wp_dequeue_script('google-recaptcha'); wp_dequeue_style( 'contact-form-7' ); } } add_action( 'wp_enqueue_scripts', 'contactform_dequeue_scripts', 99 );
これで無事、コンタクトフォームがあるページにだけreCAPTCHAバナーが表示されるようになりました。