【WordPress】Google reCAPTCHAを特定ページにだけ表示する

WordPressでGoogle reCAPTCHAの表示を邪魔だと思ったことはありませんか?この記事ではreCAPTCHAを特定のページにだけ表示させる方法を解説しています!

WordPressにGoogle reCAPTCHAを導入している場合、コメント欄を閉鎖しているページでもreCAPTCHAの表示が出ていて邪魔だと思ったことはありませんか?

クルエイチ

ページ上部に戻るボタンと重なったりすると邪魔ですよね…

Google reCAPTCHAと他のボタンが重なる例
Google reCAPTCHAと他のボタンが重なる例

この記事では、Google reCAPTCHAを特定のページにだけ表示させる方法を解説しています!

目次

Google reCAPTCHAを特定のページにだけ表示させる方法

早速、Google reCAPTCHAを特定のページにだけ表示させる方法を解説します。
以下の手順に従って設定してください。

Google reCAPTCHAを表示するページを決める

このページは、「特定のページ以外では表示しない」という方法の解説です。
そのため、逆に表示したいページをリストアップしていき、それ以外に非表示処理を適用します。

reCAPTCHAはbotと人間を区別するサービスです。
つまり、コメント欄のあるページや問い合わせページなど、ユーザーから入力されるページをリストアップします。

functions.phpにコード追記

functions.phpに以下のコードを追記するだけでreCAPTCHAを非表示にできます。

function loadRCPv3(){
	if (!is_page(array('inquiry','123')) && !is_single('テスト')){
        wp_deregister_script('google-recaptcha');
    }
}
add_action('wp_enqueue_scripts','loadRCPv3',50);

基本的にはコピペでOKですが、1ヶ所だけ各サイトごとに変更が必要な部分があります。
reCAPTCHAを表示したいページのIDまたはスラッグまたはタイトルを記載します。

コード解説

変更が必要な部分の解説

サンプル
is_page

固定ページを探します。
投稿ID、スラッグ、ページタイトルを指定できます。

is_single

投稿ページを探します。
投稿ID、スラッグ、ページタイトルを指定できます。

if (!is_page(array('inquiry','123')) && !is_single('テスト'))

例えば上記では以下の3ページにreCAPTCHAが表示されます。
・スラッグが「inquiry」と投稿IDが「123」の固定ページ
・投稿タイトルが「テスト」の投稿

変更不要部分の解説

wp_deregister_script('google-recaptcha'); は、google-recaptcha というスクリプトを 解除(読み込まれないように) しています。

また、以下のコードは「loadRCPv3関数」をフックに追加し、WordPressのスクリプト登録処理に対して、この関数の処理を適用しています。

add_action('wp_enqueue_scripts','loadRCPv3',50);

50の部分はフックの優先度で、数値が大きいほど後に実行されます(デフォルトは10)。
他のスクリプト登録よりも後に実行されるように、やや大きめの数値で登録しています。

他のカスタマイズでスクリプト登録している場合は、”50” 部分を適宜調整してください。

使いやすさ重視で広告表示を少なくしています。
その分サイト維持費用をご支援いただけると助かりますm(__)m

あなたの応援が私の原動力です!
WordPressでGoogle reCAPTCHAの表示を邪魔だと思ったことはありませんか?この記事ではreCAPTCHAを特定のページにだけ表示させる方法を解説しています!

この記事が気に入ったら
フォローしてね!

シェア大歓迎!
  • URLをコピーしました!
  • URLをコピーしました!

コメント・ご指摘などあればこちらへ!

コメントする

目次