※2016年9月18日執筆のため情報が古い可能性があります。
前、ContactForm7でrecaptcha入れて設置も楽、スパムも防止でえーやないっすか!と喜んでいたのですが、たまに「私はロボットではないです」のrecaptch表記が見えなくなることがありまして、あれれーと思ってました。
最近また見てみると「あれ、見えない」もしかしてとテスト送信すると、「また後でお試し下さい」とでるじゃないですか。もしかして問い合わせいただこうと思った方は「こんなサイト二度とくるかい」と思われたかもしれませんが、完全にこちらのミスです。m(_ _)m
そこで再度動作確認をしましたのでビフォー・アフター形式でお届けします。もし同じ症状のWordpress使いの方がいましたらご参考に。
ビフォー:ContactForm7でcaptchaが見えない
これが解決前の状態です。
本来は送信ボタンの上に「私はロボットじゃないです」チェックボックスが出ていないとダメなんです。
ちなみにこの状態で、送ると、
「メッセージの送信に失敗しました。後でまたお試し下さい。」と出るので何度かトライされた方がいたら・・・m(_ _)m
サービス業は僕は経験がないのですが、とはいえサービスを受ける側が「店先で少々お待ちください」と店員に言われて「そのままいつまでまつの?」っていっても「少々お待ち下さい」って言われたら・・・とはいえ、ここは気を取り直して進めていきましょう。
じゃあ解決策は?
アフター:解決策はscriptタグを入れること
headタグ前に入れればオッケーでした。このコード前入れた覚えないんだけど、前からですかね?まあそういうもんだと思っていますが。
参考になったサイトはこちら。ありがとうございます!
こちらのサイトに、
スクリプトを設定してないとお問い合わせフォームにHTMLコードを入れても表示されませんので注意してください。
(同サイトより引用)
あー・・・そうなんだとこれはうっかりミスなんでしょうか。うっかりうっかりということで。
確かにGoogleからrecaptchaコード取得して、ContactForm7のインテグレーションに入れたら、あとはフォームコードに[recaptcha]とかいれて終わりそうというかそれで動いてたのは気のせいってことか。怖くなりましたね。
僕の場合はheader.phpあたりを子テーマ編集して使っていますので、
上の参考サイトにあるように、
<!--Google reCAPTCHA--> <script src='https://www.google.com/recaptcha/api.js'></script>
をheadタグの間に入れればオッケーでした。
そうすると、
ちゃんと、表示されました。ほっ。
当然、これで送信は無事できました。やれやれ。
ちなみに、公式のcontactform7の設定紹介ページでは、Googleのスクリプトコードを貼り付けるとは書いてないので、このあたりはどうなのかは不明です。少なくともcontactform7で自動生成されていると期待したいわけですが動かないなら手動でやるしかないと、何か設定があればいいのですが分からずでした。
おわりに
いつも思うんですがWordpressでさえたまに変な動きをしてしまって対応に困ったりウロウロしてしまうわけで、こういうのを運営側は常にさらされているというのは大変ですよね。最もこういうのをある程度楽しめたり、ライフハック感覚でやれないとWordpressを使うというよりも、色々なツールを使うのも大変だなあと思ったりします。
ContactForm7+recaptchaのセットは便利だと思うので、使い続けていきたいですねー。
そんな感じで。