WordPress reCaptcha by BestWebSoft ログインエラー解消方法

reCaptcha by BestWebSoftとは

WordPressのログイン画面などにGoogle reCAPTCHAを追加できるプラグイン。

Google reCAPTCHAとはログイン画面などからアクセスを試みるボットからサイトを防御するためのシステム。

これがログイン画面にあればボットから不正ログインされる可能性がほとんどなくなるので現在では多くのWebサイトで導入されている。

WordPressのログイン画面に導入する場合はプラグインを追加してAPIキーを設定する。

reCaptcha by BestWebSoftでエラー

reCaptcha by BestWebSoftのプラグインをインストールするだけでセキュリティを強化できて便利だが、これをインストールするとログインボタンを押した際にエラーが発生してしまうことがある。

これはGoogle reCAPTCHAを読み込む前にログインボタンを押してしまうと正しく認証ができないことが原因だ。

WordPress reCaptcha by BestWebSoft ログインエラー解消方法

エラーの解消方法

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プラグインをインストールしているなら必ず上記のコードを入れておいたほうが良いだろう。