Contact Form 7
今日はメールフォームの設置にかかりっきりになった。
とはいえ,メールフォームについては,このサイトを立ち上げて直ぐに設置し,またその動作にも十分満足していた。
このサイト以前にも,「旧サイト」や「授業用サイト」などに,しかもそれぞれのサーバの環境に応じて異なったスクリプト — CGI や Google フォームのスクリプト — によるフォームを設置してきたから,全くの素人というわけではなく,それなりの経験はもっている。
しかし,今回開設した WordPress では,他の CGI やスクリプトを組み込むということは難しく,特に「自動返信メール」については,プラグインに頼るしかない。そこで,カスタマイズ始めた頃,直ぐに入れたのが “Contact Form 7” だった。
但し,このプラグインには,内容確認と送信完了の画面を作成する機能がない。それを補うのが “Contact Form 7 Multi-Step Forms” だ。
これらを組み合わせることによって,「記入」→「確認」→「送信」という一連の過程を自動化することができる。だがこれを実装するには,例えば,次のような作業を行わなければならない。
しかも,送信者には「自動返信メール」,管理者には「通知メール」が届くようにして,送信された内容がお互いにわかるようにしなければならず,設置完了まで何度もテストメールを送信して確認することになる。
一度やると,当分の間はやりたくない作業の一つだ。
突然の不具合
ところが,連日連夜様々なエラーと戦ってきて,やっと落ち着いたと思っていたところ,今朝になって久しぶりに確認をすると,巧く動作しない。
おそらく直近のヴァージョンアップに伴ってプラグインの動作が若干変わったか,この間のシステムのヴァージョンアップにメンテナンスが追いつかなくなったかなのだろう。それにしても,ここにきて動作しないとなると本当に困る。人というのは,こういう風に不具合が出ているときに限って,何故かやってきて送信しようとしたりするものだ。
実は,上記の一連の過程を動作させるためには,5つのページを作らなければならない。そのうち「記入」→「確認」→「送信」の3つは「静的」なフォームに過ぎないが,更に,その間の「動的」な操作を行うためのページがそれぞれ必要となるからだ(これに,「自動返信」・「自動通知」のページがが加わる)。その全部を,一つ一つ順番に見直していく作業を行うことになる。
ところが,記述としては全く問題はないことを何度も確認しているのだが,実際にテストメールを送信しようとすると,「確認」の段階で,「記入」した内容(パラメータ)が引き渡されずブランクになってしまい,そのまま「送信」しても何も起こらない。明らかにプラグインの動作不良だ。
だが,何が原因なのかがわからない。というのは,他にもセキュリティー対策のためにプラグインを入れ,通信を制御しているし,また,他のプラグインとの不整合による動作制御の可能性もある。
こういう場合には,この不具合が起きているかどうか,また,その不具合を解消する術があるかどうか,ネットで検索して確認することになる。そして,やはり不具合とその原因とについて報告しているサイトが幾つかかかってくるのだが,今ここで起きている症状ともまた若干異なっている。
単純化
ただ,一つのフォームを準備し,そこに「記入」して直に「送信」するというのであれば,パラメータの引き渡しなどの面倒な操作が間に入らず,簡単に済ますことができる。
しかしその場合,「送信」した瞬間に記入した内容が瞬時に消えて,何も起こらないということになる。普通に考えて,全く初めてこのフォームで問合せしようとした人は,一体,きちんと送信されているのかどうか不安にならないだろうか。
だがこの場合には,「送信」して内容が瞬時に消えた後,下のほうに申し訳程度のメッセージが出るようになっている。これに加えて,「送信」前にチェックを入れないと動作しないようにしておけば,「確認」の行程を同時に組み込むことができるだろう。
この先,何時プラグインが正常に動作するようになるかもわからない状態で,そのまま放置するというのも不安がある。だから,この最も単純な仕組みに立ち返ることによって,今後も不具合が起こりにくくメンテナンスの必要も余りないので,落ち着くべきところに落ち着いたというべきだろう。
ともかくこれで,当サイトの設置作業も一区切りといきそうだ。