MW WP Formがうまく動かなかった、私の基本的なミス3つ

Posted: 2014.11.25(火)

tag: , ,

確認画面を作成可能なありがたいプラグイン「MW WP Form」。当ブログをリニューアルした際に使用させていただくことにしたのですが、本当に恥ずかしいほど基本的なミスで動きませんでした。どなたかの参考になればと。

【原因1】ループのコード入れ忘れ

本当にありえないのですが、ループの入れ忘れ、してしまいました・・・。

固定ページのオリジナルテンプレートファイル(page-***.php)を作ったとき、コンテンツの内容をphpファイルに直書きして、その流れで固定ページのテンプレートファイル(page.php)も作成してMW WP Formを適用させてしまったところ、当たり前ですがMW WP Formは動きませんでした。

独自テーマを作る場合には、気をつけなくてはいけません。

【原因2】wp_head();とwp_footer();の記述もれ

不具合が出たときに、基本的かつ致命的な原因になりがちなwp_head();とwp_footer();の記述もれ。かなりなぼんやりっぷりで、バッチリ記述し忘れていました。

当然のことながら、動きませんでした。

特に、wp_head();は重要なものをたくさん読み込んできてくれるので、とっても大事です。

【原因3】ボタン関連のショートコードの選択ミス

MW WP Form 作者のキタジマさんご本人からコメントを頂いた後、この項目を以下のように削除修正しました。(2014年12月12日)

これが一番ハマりました。【原因1】と【原因2】を修正した後いろいろ試してみたのですが、送信ボタンのみが機能してくれなかったのです。

テーマをデフォルトに戻してみたり、MW WP Form以外のプラグインを停止してみたりしたのですが、どうやっても送信ボタンは機能せず。クリック後、完了画面が表示されませんでした。

送信ボタン以外のボタン、確認ボタンや戻るボタンは機能していて、「あとは送信ボタンさえ機能すれば!!」という状況だったので、色々と見直していたところ、下記に気になる記述を発見。

MW WP Form の使い方 | モンキーレンチ
上記ページの既述は、更新されていない古いものとのことでした。

MW WP Formの最新の情報は右記からどうぞ。MW WP Form – 柔軟なカスタマイズ性が魅力の WordPress 問い合わせフォームプラグイン MW WP Form 公式マニュアル

こちらは、MW WP Form作者の方のブログ内にある、MW WP Formの使い方のページなのですが、このページ内のショートコード一覧の中にある「確認・送信ボタン(mwform_submitButton)」についての説明で、「(同一URLの場合に使用)確認ボタンと送信ボタンを自動出しわけ。」とありました。

原因は、個別URL(入力画面、確認画面、完了画面を個別URLで利用する場合)の設定をしていたにも関わらず、この同一URL用のショートコードmwform_submitButtonを使用していたことにありました。
個別URLの場合には、

						<div>
						[mwform_backButton value="戻る"][mwform_submitButton]
						</div>
						

ではなく、

						<div>
						[mwform_backButton value="戻る"][mwform_confirmButton value="確認画面へ"][mwform_submit value="送信する]
						</div>
						

このように記述しなくてはならなかったのです。このように記述したら、正常に動作するようになりました!

自動で出しわけしてもらったほうが記述が一つで済むから、と深く考えずショートコードを使ってしまったのが良くなかったです。

同じように悩んでいる方の参考になると嬉しいです!

余談ですが・・・
最近、MW WP Form 公式マニュアルのデザインが変わりました。前のもシンプルで良かったのですが、今回のもアイコンと配色が効果的で素敵です。

【原因3】???

MW WP Form 作者のキタジマさんご本人からコメントを頂いた後、該当箇所のコードを修正してフォームが正常動作するかテストしてみました。

下記が修正後のコード例です。

						<div>
						[mwform_backButton value="戻る"][mwform_submitButton]
						</div>
						

そしてテストしたところ…フォームは正常に動作しました!
結局何が原因だったのか…。詳細なログを残しておけばよかったです。

キタジマさん、お騒がせして申し訳ありませんでした!

まとめ

MW WP Formが動かない場合の確認点

基本的な記述ミスはないか?
wp_head();やwp_footer();、ループなど、基本的な記述が抜けていないか確認!
ボタン関連のショートコードは適切か?
同一URL、個別URL、それぞれに適したショートコードを記述しているか?

かなり基本的な内容ですが、MW WP Formが動かない方、今一度チェックしてみてください。

コメントする

  • キタジマタカシ

    MW WP Form 作者のキタジマです。詳しい記事を書いて頂きありがとうございます!
    一点、「MW WP Form の使い方 | モンキーレンチ」の既述は更新されていない古いもので、現在では[mwform_submitButton]は個別URLの場合でも動作するはず…です。[mwform_submitButton]の場合、押したときにどの画面が表示されるか教えていただけると嬉しいです。

    • 運営者

      コメントありがとうございます!MW WP Form、いつもありがたく使わせていただいています。

      「MW WP Form の使い方 | モンキーレンチ」の既述は更新されていない古いもので、現在では[mwform_submitButton]は個別URLの場合でも動作するはずとのこと…そうなんですね。

      今回の場合、[mwform_submitButton]を記述すると、送信ボタンを押したときロードする挙動は見られるのですが、そのうちロードが止まり画面遷移はされませんでした。

      何か他の設定が悪いのか…WordPressのフォーラムの内容も確認してみたのですが、私が確認した時点では類似の状況は見当たりませんでした。

      • > 送信ボタンを押したときロードする挙動は見られるのですが、そのうちロードが止まり画面遷移はされませんでした。

        入力画面に戻ってしまうという方はたまにみかけるのですが、これは不思議ですね…。
        もしかしたら古いバージョンをお使いではないでしょうか?

        • 運営者

          > もしかしたら古いバージョンをお使いではないでしょうか?

          バージョン 2.1.3を使わせていただいているので、バージョンが古いことによる不具合というわけでもなさそうです。

          あれから、ショートコードを[mwform_submitButton]に修正してテストしてみたところ、問題なくフォームが動きました!お騒がせしてしまい、申し訳ありません!!

          当初エラーが出たときのスクリーンショットや手順のログを残していないので、エラー時のさらなる詳細な状況を再現することができず今後の開発のお役に立てる状況にないのが申し訳ないのですが…。

          う〜ん、何が原因だったのか…。私のほうの初歩的なミスによる可能性が大きいのかなと思いますが…。

          本当にお騒がせしました。この投稿内容も後ほど修正して、改めさせていただきますね。

© 2013 PLUS PUT

page top