2018-12-17に投稿

WordPress プラグイン「Contact Form 7」の reCAPTCHA (v3) ラベルを必要なページのみ表示させる

はじめに

世界で最も使われている WordPress プラグインContact Form 7」にて、後方互換性の無いオプション機能のアップデートが行われました。

具体的には本プラグインが reCAPTCHA (v3) に対応し、同時に旧版である reCAPTCHA (v2) への対応が廃止となりました。

v2 を用いている場合はアップデートと同時に無効となります。
引き続き reCAPTCHA を用いる場合は v3 への対応が必要で、新たに v3 用のサイトキー、APIキーの設定が必要です。

こちらの作業は管理画面上の操作で済むので、大した問題とは捉えていなかったですが、この設定を行うとあらゆるページ上で以下のラベルが表示されます。

スクリーンショット 2018-12-17 13.19.59.png

これは非常にうざいので、以下のコードで必要なページに対してのみラベルを表示させるようにしました。

コード

以下のコードをテーマの functions.php 等に記載します。
'your_pagename' は適宜お使いのページスラッグ置き換えて下さい。

    add_action('send_headers', 'remove_recapcha');
    function remove_recapcha($wp)
    {
        if (array_key_exists('pagename', $wp->query_vars) && $wp->query_vars['pagename'] === 'your_pagename') {
            return;
        }
        remove_action('wp_footer', 'wpcf7_recaptcha_onload_script', 40, 0);
        remove_action('wp_enqueue_scripts', 'wpcf7_recaptcha_enqueue_scripts', 10, 0);
    }

実例

ツイッターでシェア
みんなに共有、忘れないようにメモ

sola

Crieitは誰でも投稿できるサービスです。 是非記事の投稿をお願いします。どんな軽い内容でも投稿できます。

また、「こんな記事が読みたいけど見つからない!」という方は是非記事投稿リクエストボードへ!

有料記事を販売できるようになりました!

こじんまりと作業ログやメモ、進捗を書き残しておきたい方はボード機能をご利用ください。
ボードとは?

コメント