Follow Us:

ContactForm7のキャプチャをお問い合わせページだけに表示

  •  更新日:


ContactForm7のreCAPTCHA (v3)キャプチャをお問い合わせフォームがあるページにだけ表示させる方法を解説いたします。

ContactForm7 のキャプチャ機能

ContactForm7プラグインには、GoogleのRecaptcha(フォーム送信者が人かどうか判断して、スパムメールを防ぐ仕組み)を有効にすることができます。

しかしキャプチャのロゴが全ページに出てしまいますのでサイトのボタンを覆い隠してしまったり、無用な表示ですのでお問い合わせフォームのページにだけ出るようにしてみましょう。

テーマのFunctions.php からContactForm7キャプチャをお問い合わせページだけに表示する方法

下記のコードをワードプレスの管理画面>外観>テーマの編集 ボタンから、Functions.phpを選択し最下部にコピペしてみてください。

//Recaptchaをお問い合わせページにのみ表示します
function contactform_dequeue_scripts() {
    $load_scripts = false;
    if( is_singular() ) {
        $post = get_post();
        if( has_shortcode($post->post_content, 'contact-form-7') ) {
            $load_scripts = true;  
        }

    }
    if( ! $load_scripts ) {
        wp_dequeue_script( 'contact-form-7' );
        wp_dequeue_script( 'google-recaptcha' );
        wp_dequeue_script( 'wpcf7-recaptcha' );     
        wp_dequeue_style( 'wpcf7-recaptcha' );
        wp_dequeue_style( 'contact-form-7' );
        
    }
}
add_action( 'wp_enqueue_scripts', 'contactform_dequeue_scripts', 99 );

このコードは、
is_singular() → 単体ページ かつ
has_shortcode($post->post_content, ‘contact-form-7’) → コンタクトフォーム7のショートコードがある

ページ以外は
wp_dequeue_script( ※5つのスクリプトやスタイル) によってContactForm7関連のコードを読み込まないようにします。
問い合わせフォームのないページに不要なContactForm7関連のスクリプトやスタイルが読み込まれなくなりますので、速度改善効果も望めます。キャプチャーを使用されていなくてもご利用可能です。

WordPressのセキュリティー対策マルウェア駆除、テーマのカスタマイズのご相談ご依頼はお気軽にワードプレスドクターまでお送りください

 ワードプレスについて学んでプロに好きなだけ質問できるオンラインサロンはこちら

関連タグ:

Wordpress ワードプレス ドクターBlog タグ一覧

© 2015-16. «WP Doctorワードプレスドクター». All right reserved.