こんにちは、Ryohei(@ityryohei)です!

本記事では、WordPressプラグインのMW WP Form reCAPTCHAでreCAPTCHA v2のチェックボックスが表示されない、もしくは表示されたり表示されなかったり動作が安定しない場合の対処法をご紹介しています。WordPress本体もしくはMW WP Formをアップデートした後にMW WP Form reCAPTCHA v2のチェックボックスが表示されなくなった場合に有効です。

WordPress本体とMW WP Formの本体をアップデートしたらreCAPTCHA v2のチェックボックスが表示されなくなったけど、表示させる方法はないかな?

上記の疑問にお答えします。

では、解説していきます。

MW WP Form reCAPTCHAとは

MW WP Form reCAPTCHAは、WordPressのお問い合わせフォーム等でよく利用されるMW WP FormにGoogle reCAPTCHAの機能を追加することができるプラグインです。現在もインストール可能なプラグインとして公開されており、管理画面から簡単に導入することができます。

2022年12月時点のプラグインの概要は下記の通りです。

バージョン1.0.7
最終更新日5年前
有効インストール数3,000+
WordPress バージョン4.3またはそれ以降
検証済み最新バージョン4.9.22

最終更新日が5年前、検証済みの最新バージョンは4.9.22です。現在のWordPressのバージョンは6.1.1のため、最新バージョンでの動作は検証されていません。今後構築するWordPressでは導入しない方が無難かなと思います。

とはいえWordPressのバージョンが5前後のときに本プラグインを使ってGoogle reCAPTCHAを導入したサイトは一定数存在します。数年前に構築したWordPressのサイトをアップデートしたいけど、本プラグインの影響でアップデートができないという方向けに、ここではサイトの修正を最小限に抑え、現在の最新バージョンのWordPressで本プラグインを使用する方法をご紹介します。

本プラグインの継続利用を推奨するものではございません。また全エラーを検証しているわけではないため、本記事の内容でエラーが解消しない可能性もあります。予めご了承ください。

プラグインのファイルを修正する

プラグインのファイルを修正してGoogle reCAPTCHA v2のチェックボックスが表示されるようにします。プラグインのアップデートは提供されていないため、ファイルの内容を修正します。

修正する対象ファイルは下記ディレクトリ内にあります。

/wp-content/plugins/mw-wp-form-recaptcha/mw-wp-form-recaptcha.php

128行のスクリプトが記載されています。その中から下記の行を修正します。

修正前

95行目:<script src="//www.google.com/recaptcha/api.js"></script>
127行目:add_action( 'wp_head', 'mw_wp_form_recaptcha' );

修正後

95行目:<script src="//www.google.com/recaptcha/api.js" async defer></script>
127行目:add_action( 'wp_footer', 'mw_wp_form_recaptcha' );

修正したファイルをアップロードしてGoogle reCAPTCHA v2のチェックボックスの動作をご確認ください。

最後に

WordPressは不定期にアップデートが発生します。WordPressはアップデートの度に機能が増え、セキュリティが強化されていきます。そのため公式のアナウンスでは最新バージョンへのアップデートが強く推奨されています。WordPressでサイトを構築する場合は、運用面のことも考えてプラグインを厳選し、月に数回アップデートを確認・実施することを意識しておくと良いかもしれませんね。

以上、WordPressのMW WP Form reCAPTCHAでreCAPTCHA v2のチェックボックスが表示されない場合の対処法のご紹介でした!

この記事を書いた人

Ryohei

Webエンジニア / ブロガー

福岡のWeb制作会社に務めるWebエンジニアです。エンジニア歴は10年程で、好きな言語はPHPとJavaScriptです。本サイトは私がインプットしたWebに関する知識を整理し、共有することを目的に2015年から運営しています。Webに関するご相談があれば気軽にお問い合わせください。