Contact Form 7(5.1以上)のreCAPTCHA (v3)ロゴが邪魔

ここではContact Form 7の5.1以上での以下のロゴが全ページに表示されてしまう問題を排除する。

問題の経緯

Contact Form 7を5.1以上に更新すると、なぜか勝手にreCaptcha機能がv3にアップデートされており、これまでのものが使えなくなり、

[recaptcha]

という文字列がそのまま表示されているだけになっている。そのままv2をサポートしておいてくれれば良いものを、完全にv3に移行してしまったようだ。

この対処方法については、ウェブ検索すればいくらでも解決策が見つかるので、ここでは議論しない。ともあれ、v3に移行できたものとする。

次の問題としては、「コンタクト」ページだけではなく、全ページにこのマークが表示されてしまうことだ。他すべてのページの右下に表示されてしまう。これはいかにも邪魔だろう。

ところで、v3の仕組みは?

ところで、v3に移行すると、v2にあったようなチェックボックスが存在しない。以下のようなものである。

詳細な仕組みはわからないのだが、ボットか人間かの判断を自動化しているという。だからショップのウェブなどではすべてのページでこのマークが表示されるようにしろという。例えば、以下に記事がある。

しかし、ショップでも無いのに、これではいかにも邪魔である。なんとか消す方法は無いか?

解決方法

この解決方法を検索してみると、様々なウェブに提案があるのだが、単純な方法があった。

  • コンタクトページだけにContact Form 7プラグインをロードさせる

という方法である。

これはWordpressの仕様なのだが、「入れたプラグインはすべてのページでロードされてしまう」という問題がある。そして、Contact Form 7を使用していないページであっても、このプラグインがロードされてしまい、そのためにこのマークが全ページに表示されてしまうのである。

この解決法としてはWordPress:これならわかる! Plugin Load Filterを参照して欲しい。

なお、Wordpressを「そこそこ」速くするためにも、Plugin Load Filterは有用だ。これについては、WordPressを「そこそこ」速くするも参照して欲しい。