reCAPTCHAマークがトップページにも出現して困りました・・・。
この記事では、WordPressのwp_deregister_script
関数を使用して、特定のページでのみGoogle reCAPTCHAのJavaScriptを読み込む方法を解説します。WordPressでは、全てのページで共通のJavaScriptを読み込むのがデフォルトですが、特定のページでのみ読み込むように設定することができます。
Google reCAPTCHAとは
Google reCAPTCHAは、ボットによるスパムや不正アクセスを防ぐためのサービスです。ユーザーが人間であることを確認するためのチェックボックスや画像認証などを提供しています。
トップページにもreCAPTCHAマークが出るのでちょっと邪魔だったのと、TOPへ戻るボタンに被っていたので邪魔でした。
今回はこちらのコードをfunctions.phpに設置しました!
reCAPTCHAマークをコンタクトページのみ表示させる内容です。
<?php
function recaptcha() {
if ( is_page( 'contact' ) ) {
wp_enqueue_script( 'google-recaptcha' );
}
}
add_action( 'wp_enqueue_scripts', 'recaptcha', 100 );
?>
このコードでは、wp_enqueue_script関数を使用してGoogle reCAPTCHAのJavaScriptを読み込むように設定しています。is_page関数は、現在のページが指定したページ(この例では’contact’ページ)であるかどうかをチェックします。
続いてコードの内容を深掘りしていきましょう。
<?php
// 1. `recaptcha`という名前の関数を定義します。
function recaptcha() {
// 2. `is_page`関数を使用して、現在のページが'contact'ページであるかどうかをチェックします。
if ( is_page( 'contact' ) ) {
// 3. 現在のページが'contact'ページである場合、`wp_enqueue_script`関数を使用して'google-recaptcha'という名前のスクリプトを読み込むように設定します。
wp_enqueue_script( 'google-recaptcha' );
}
}
// 4. `recaptcha`関数を`wp_enqueue_scripts`アクションにフックします。これにより、WordPressがスクリプトを読み込むときに`recaptcha`関数が実行されます。
add_action( 'wp_enqueue_scripts', 'recaptcha', 100 );
?>
wp_deregister_script
関数とは
wp_deregister_script
関数は、WordPressのスクリプト管理機能の一部で、登録されたスクリプトを解除(登録を取り消す)するための関数です。これを使用することで、特定のスクリプトを特定のページでのみ読み込むように設定することができます。
load_recaptcha_js
関数の作成
load_recaptcha_js
関数は、Google reCAPTCHAのJavaScriptを特定のページでのみ読み込むための関数です。この関数では、is_page
関数を使用して、特定のページ(この例では’contact’ページ)でのみGoogle reCAPTCHAのJavaScriptを読み込むように設定しています。
add_action
関数の使用
add_action
関数は、WordPressのアクションフック機能の一部で、特定のアクションが実行されたときに特定の関数を実行するための関数です。この例では、wp_enqueue_scripts
アクションが実行されたときにload_recaptcha_js
関数が実行されるように設定しています。
まとめ
この記事では、WordPressのwp_deregister_script
関数を使用して、特定のページでのみGoogle reCAPTCHAのJavaScriptを読み込む方法を解説しました。これを使用することで、Google reCAPTCHAのJavaScriptを全てのページで読み込むのではなく、特定のページでのみ読み込むように設定することができます。