WordPressに追加したreCAPTCHAを特定のページのみに表示させる方法
reCAPTCHA v3を導入することでスパム対策できるので便利ですよね。
導入するだけだとお問い合わせページ意外の全ページにロゴが表示されます。
それだとreCAPTCHA用のJSファイルが読み込まれてしまうのでページの表示速度に影響が出てしまいます。
Google検索結果も表示速度は影響あるからね^^;
↓WordPressにreCAPTCHA v3をまだ設定していない方は以下の記事に設定方法を記載しています。
https://www.sasatatsu-blog.com/web/wordpress/213/
reCAPTCHA v3を特定のページに表示する方法
テーマ内にあるfunctions.phpに以下のコードを追加します。
add_action( 'wp_enqueue_scripts', function() {
if(is_page('表示させるページのスラッグ')) return;
wp_deregister_script( 'google-recaptcha' );
},100);
表示させたいページのスラッグの箇所に固定ページのスラッグ名を入力します。
上記のコードを入力することで他のページにロゴが表示されなくなります。
特定の複数のページに表示させる方法
add_action( 'wp_enqueue_scripts', function() {
if(is_page(array('表示させるページのスラッグ','表示させるページのスラッグ'))) return;
wp_deregister_script( 'google-recaptcha' );
},100);
上記のarray内に表示させたいページ名を複数追加していけばOKです。
おわりに
functions.phpに記述するだけで簡単に実装できるのも嬉しいですね。
あと、最近は複数お問い合わせページも作成するサイトも多いので、そういうケースにも対応できるのもありがたいです。
Google検索のアルゴリズムでページ表示速度も無視できない要素ですので、全ページにreCAPTCHAのロゴを表示したい場合以外は実装しておいていいと思います。