BLOG

メールフォームでハマった話

2019/09/03 [Tue] WEB

いろいろハマり過ぎですね…。
まぁそれがWEBってもんです(?)。

さて今度もまた凡ミスだらけでしたが、どなたかの参考になれば。

MW WP Formが動かない

WordPressプラグインの中で代表的なメールフォームのひとつである「MW WP Form」。
使い勝手が良いので以前から愛用していましたが、最近作っていたテンプレートで、なぜかうまく動かず、

  • 確認画面から先に進めない
  • 必須項目に入力せずに進むと、その画面で固まってしまい、正しく入力しても先に進めない

といった現象が起こるようになりました。

いろいろ調べていても解決策が見当たらず、その時は取り急ぎ「Contact Form 7」に乗り換えて凌ぎました。

Contact Form 7は問題なく動作したものの、その後また別の問題が発生して対処していた折に、大きな失態をしていたことに気付きました。

フッターにwp_footer();を入れ忘れていた!

意外とオリジナルテンプレートでやりがちなミス。

body直前に忘れずに入れよう
<?php wp_footer();>
</body>

wp_headも忘れずに
<?php wp_head(); ?>
</head>

慌ててこれまで受けた案件のサイトをチェックしましたが全て大丈夫でした。良かった…。

reCAPTCHAに振り回される

前述の通り、wp_footer();を入れ忘れていてもContct Form 7は影響なく動いたのですが、こちらに乗り換えた途端に大量のスパムが届き始めました。
私がメインで使っているドメインは割と取得時期が古く、もう随分昔からスパムが多いので当然と言えば当然。

というわけでContct Form 7のオプションで設定できるreCAPTCHAを導入してみました。
導入方法はとても簡単なので、ここでは割愛します。

しかし、いざ導入してみたものの、reCAPTCHAのバッジが表示されない
この現象を調べる中で、ようやく先に書いた「wp_footer();入れ忘れ」問題に気付いて無事にバッジも表示されたのですが、「ほんならMW WP Formに戻してもええやん」と思って、Contact Form 7のプラグインを停止させたところ、問題発生。

WordPressにログインできなくなった

プラグインを停止させた途端に「サイトで技術的な問題が発生しています。サイト管理者のメールを確認して指示に従ってください。」のエラーが出てしまい、ログインできない状態に。

メールに届いたURLからリカバリーモードでログインし、Contact Form 7を有効化すると復旧

reCAPTCHAのキーを削除せずに停止させたのが問題だったのか?と削除してからプラグインを停止させても同じ。

プラグインの設定ファイルに問題があるのか?と「plugins」ディレクトリ内のデータを消したりしても結果は同じ。

何となくモヤモヤしたまま、プラグインが残っていても別に動作に問題はないので、後回しにして放置していましたが、これまた別作業をしていた時に問題の箇所が分かりました。

functions.phpに問題があった

これも冷静に考えれば気付けたこと…。
「技術的な問題」の時は、大概functions.phpに問題アリ。

これまた前述の、reCAPTCHAのバッジが表示されない問題について調べていた折、検索して出てきたfunctions.phpにコードを追記する対処策を試し、消さずに残したままだったのがエラーの原因でした。

それでもreCAPTCHAを入れてみる

ようやく問題が解決したところで、結果的に

  • MW WP Form
  • Contact Form 7 + reCAPTCHA

どちらでもロボットによるスパムメールは届かなくなりました。

それならば、MW WP FormにreCAPTCHAを追加したいなぁ、と思ったところ、有料プラグインでないと導入できない模様。
リンク先を見れば分かる通り、GPLライセンス(General Public License)で、一度購入すれば複数のWordpressにインストールしても良いとのことですが、とは言え…と考えて、結局またContact Form 7に戻しました。

個人的に、確認画面がないと送った気がしない…ということでMW WP Formの方を愛用していたのですが、Contact Form 7もプラグインで確認・完了画面を追加できるとのことで、そちらを試してみることにしました。

とは言え、こちらは公式プラグインではないので若干不安が残るところ。
今のところ個人的にしか使っていないので、運営しながら検討していきたいと思います。

関連記事

  • 2020/09/02 [Wed] WEB お知らせ

    .tkドメインの話

    最近甲虫のサイトをオープンしたのを期に、こちら本体の方に、以前他のドメインで試験 […]

  • 2020/02/10 [Mon] WEB

    遅れ馳せながらSassが便利すぎた

    最近、ご縁があって昔所属していたWEB制作会社とまた一緒にお仕事させていただける […]

  • 2019/12/02 [Mon] WEB

    archive.phpが認識されなかった

    時々書いているWEBの備忘録、自分用に役立っているので困ったことがあった時にはで […]

  • 2019/10/02 [Wed] WEB

    投稿ページを分割

    相変わらず特に宣伝活動もせず、ほとんどアクセスのないサイトを気ままに更新している […]

  • 2019/09/08 [Sun] WEB

    SEO対策

    私がHTMLを勉強し始めたのは今から約20年ほど前、まだパソコンの普及率も今ほど […]

  • 2019/09/05 [Thu] WEB 教育

    プログラミング教育とは

    以前にチラッと触れたのですが、来年2020年から施行される「新学習指導要領」の中 […]

  • 2019/09/01 [Sun] WEB

    WP移転でハマった話

    前回に続きWEBネタです。というかこれを書くための前置きとして前の記事を書きまし […]

  • 2019/08/31 [Sat] WEB

    WEB制作を再開しました

    ここ最近の仕事はチラシやパンフレットがメインですが、私、元々はWEBデザイナーで […]