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🗼🥜🍃

アニメ×テック系ポッドキャスト配信 anitech.fm / にじさんじ配信スケジュール運営 https://nijisanji.net/

Crieitはβバージョンで開発中です。進捗は公式Twitterアカウントをフォローして確認してください。 興味がある方は是非記事の投稿もお願いします! どんな軽い内容でも嬉しいです。
なぜCrieitを作ろうと思ったか

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

関連記事

コメント