WordPress
カスタマイズ事例

WORDPRESS CUSTOMIZATION

Contact form 7に実装したreCAPTCHA v3のロゴをフォーム以外の場所では非表示にする

スパム対策用のGoogle reCAPTCHA。
v2まではチェックボックスにチェック入れたり、写真が出てきて「標識を選べ」だの「自動車を選べ」言われて使えなかったのですが、v3になってそういうユーザー操作が必要なくなったことから、相当使える代物になりました。
さっそくcontact form 7に組み込んで使っている方は多いのではないでしょうか。

当方でも以前「WordPressのスパムメール対策」で紹介させてもらいました。
 
さて、このreCAPTCHA v3ですが、使用しているページでは必ずどこかにロゴを表示しなければならないルールになっています。
contact form 7もそれに対応してくれていて、組み込むと、自動でページにそのロゴを出してくれます。
全部のページに。
 
全部のページに!?
 

Googleフレンドリーすぎます!
すぎるので、contactページ以外ではロゴを非表示にしましょうね。
 
functions.phpに以下を追記してください。

add_action( 'wp_enqueue_scripts', function() {
    if(is_page('contact')) return;
    wp_deregister_script( 'google-recaptcha' );
}, 100, 0);

 
優先順序を100にしてます。初期値(10)のままだと機能しません。

非表示にしたいページが複数あるなら、

if(is_page('contact')) return;

のところを、

if(is_page(array('contact','entry')) || is_singular( array( 'web_knowhow', 'wp_result' ))){
  return;
}

などと具体的に指定してあげれば良いですね。

【100ウェブ新着情報メルマガ】

WordPressカスタマイズ事例やウェブ制作ノウハウの新着情報、お役立ち情報を
リアルタイムにメルマガ配信!