MW WP Form - 柔軟なカスタマイズ性が魅力の WordPress 問い合わせフォームプラグイン MW WP Form 公式マニュアル
WordPressで、MW WP Formのカスタマイズを行う際、引っかかった点をまとめておく。
メールの内部転送
MW WP Formとは無関係なのだが、メール受信確認で引っかかったので。
メールを転送している場合に注意が必要。
- 外部からのメール→ 受信サーバー →さくらサーバー
という経路に関して、例えばさくらのSMTPサーバーから送信すると
- さくらからのメール →(内部転送) →さくらサーバー
となり、外部の受信サーバーを通さず内部のやり取りで済ませる仕組みになっている。これは別にさくらに限らない。
なので、Gmailでさくらサーバーのメールを送受信しているような場合、いくらGmail側を見ていても、さくらSMTPサーバーからのメールは表示されない。さくらWebメールで見ると受信している。
アクションフック、フィルターフックのXXX
アクションフック名についているXXXは数字に置き換わる。フォームコードが8なら
「mwform_after_send_mw-wp-form-8」のような感じ。これはまあ、気をつけていればわかる。
リダイレクトされる
たとえば固定ページでフォームを付けている場合、「確認ページ」「完了ページ」にそれぞれ固定ページをつける必要がある。
MW WP Formのフォーム設定画面で、4つのスラッグを記入する欄がある。それぞれに固定ページなり記事ページなり、受け皿を用意してあげる必要がある。
例えば確認ページのスラッグがconfirm
の場合、フォーム送信後、そのページにジャンプする。そこに固定ページがない場合、WordPressの設定に従って302などでトップページに転送されることがあるようだ。
404にしてくれればいいのだが、おそらくSEOの都合などで404を出したくないのだろうか。302にされると原因の特定が難しい……。
この転送の理由を理解するまでにだいぶ時間がかかってしまった。
送信メールが飛ばない
フォームの設定画面に、自動送信メールの設定ボックスがついている。これらの項目を正しく埋めない場合、何のエラーメッセージもなくメールが飛ばないようになっている。本文を空欄にしているのもだめ。
特にわかりづらいのは「自動返信メール」という意味不明なテキストボックス。これについている注釈も意味不明でつい見落としてしまう。
「自動返信メールに使用する項目のキーを入力してください。 {}は不要です。」
自動返信メールの設定ボックスなのだから「自動返信メールに使用する」は当たり前だし、「使用する」がどのように使用されるのか、まったくこの日本語からは読み取れない。
実際には、このボックスはメールの「To:」に記載される内容を設定する、非常に重要なものだ。
つまり、送信先メールアドレスを入力させるフォームについているname属性、つまりname='some_text'
のsome_textの部分を入力する。その際{some_text}
にする必要はない。some_text
でよい。
正確にはボックスの名称は「自動返信メールの送信先」であるべきだし、注釈は「送信先のフォーム項目のキー(name属性)を入力してください。{}は不要です」とでもあるべきだと思う。