関係の無いページでは、reCAPTCHA v3認証のマークを出さない。
毎回忘れるので備忘録もかねて。
お問い合わせフォームなどで利用される事が多くなった「Google reCAPTCHA v3認証」ですが、規約上「reCAPTCHAで保護されています」というマークは、表示しなければなりませんが、入力フォームを持たない関係のないページでは、本マークは出力したくないもの。
一方、Wordpressのプラグイン「Contact Form 7」や「MW WP Form」、その他、「WP Members」など入力フォームを持つ便利なプラグインは、「Google reCAPTCHA v3認証」の「サイトキー」と「シークレットキー」を設定画面などから設定するだけで、簡単に「reCAPTCHA v3認証」が実装でき、当該入力フォームが「reCAPTCHA v3認証」によって保護されます。
しかし、残念なのはこれらのプラグインで制作される入力フォームが、どこのページで利用されるかプラグイン側からはわからないため、すべてのページに「Google reCAPTCHA v3認証」のスクリプト(js)が<script>タグで設定されますので、その結果、関係のないページでも「reCAPTCHAで保護されています。」のマークが出力されてしまいます。
そこで、今回はWordpressの各プラグイン(「Contact Form 7」や「MW WP Form」、「WP Members」など)で「reCAPTCHA v3認証」を設定した際に、関係のないページでは、「reCAPTCHAで保護されています。」のマークを出さない方法について記載します。
functions.phpに以下を記載
以下の内容を「functions.php」に掲載する事で関係のないページでは、「reCAPTCHAで保護されています。」のマークを出さないようにすることができます。
1 2 3 4 5 6 7 8 9 10 11 12 | //=========================================================== // reCAPTCHA original setting // $page_list = ['contact', 'XXXX']スラッグ名を入れる //=========================================================== add_action('wp_enqueue_scripts', 'hidden_google_recaptcha',100); function hidden_google_recaptcha($arg){ $page_list = ['contact']; if(is_page($page_list)){ return ; } wp_deregister_script('google-recaptcha'); } |
$page_listの配列に、入力フォームのあるページのスラッグ名を記載する事で、それ以外のページでは、「reCAPTCHA v3認証で保護されています。」のマークが出力されないようになります。
Google reCAPTCHA v3認証のスクリプトは、id=”google-recaptcha-js”で設定されますので、本ファンクションを入れる事で該当のページ以外は、Wordpressの「wp_deregister_script」関数を使用して、id=”google-recaptcha-js”(*1)のスクリプトの設定を解除しています。
*1 なお、プログラム上では、”-js”は記載しません。
WEB DESIGN全てお任せ!ホームページ制作
RishunTradingでは、日本にはないコンセプトや高いデザイン性をもったヨーロッパ製品の輸入販売、及び、Webサイト制作事業などをおこなっております。
「全てお任せ!ホームページ制作」は、ドメイン取得からサーバー設定、レスポンシブルデザイン(スマホ、タブレット対応)、SEO対策がすべて含まれたお得なホームページを制作するサービス商品です。
運用開始後に「Webサイト運用管理サービス(保守)」と組み合わせて購入しますと、メンテナンス、更新も含めてすべて弊社で実施しますので、お客様は安心して本業に集中する事ができます。
しかもなんと、「全てお任せ!ホームページ制作」は、¥100,000!で提供しております。
本業が忙しい中小企業様に大変ご好評を頂いている商品です。
独自ドメイン取得
サーバー開設&設定
レイアウト設計
レスポンシブルデザイン
(*1)検索エンジン最適化
(SEO対策)場所Maps
お問い合わせフォーム
SSL化
各種SNS連携
運用マニュアル