reCaptcha by BestWebSoftとは
WordPressのログイン画面などにGoogle reCAPTCHAを追加できるプラグイン。
Google reCAPTCHAとはログイン画面などからアクセスを試みるボットからサイトを防御するためのシステム。
これがログイン画面にあればボットから不正ログインされる可能性がほとんどなくなるので現在では多くのWebサイトで導入されている。
WordPressのログイン画面に導入する場合はプラグインを追加してAPIキーを設定する。
reCaptcha by BestWebSoftでエラー
reCaptcha by BestWebSoftのプラグインをインストールするだけでセキュリティを強化できて便利だが、これをインストールするとログインボタンを押した際にエラーが発生してしまうことがある。
これはGoogle reCAPTCHAを読み込む前にログインボタンを押してしまうと正しく認証ができないことが原因だ。
エラーの解消方法
Google reCAPTCHAの読み込み完了まで少しの時間を要するので、ログインフォーム(#loginform)を0.5秒後に表示させることで解決できる。
やり方はfunctions.phpに以下のコードを追記する。
// ログインフォーム CSSカスタマイズ
function show_login_form() {
$code = '<style>#loginform {display: none; }</style>';
$code .= '<script defer>setTimeout(() => document.getElementById("loginform").style.display = "block", 500)</script>';
echo $code;
}
add_action('login_enqueue_scripts', 'show_login_form');
ログインフォーム部分を遅延表示させないとWordPressサイトを使用している管理者などからログイン画面がエラーになるというお問い合わせが来てしまう可能性があるので、reCaptcha by BestWebSoftプラグインをインストールしているなら必ず上記のコードを入れておいたほうが良いだろう。