昨年の6月くらいに手を付けたものの、リリースが伸び伸びになっていた v4 をやっとリリースしました。v4 の主な内容は下記のとおりです。
- コードの大幅なリファクタリング
- 入力フィールドをテーマ側で簡単に上書き可能に
- メール設定が未入力の場合によしなに補完するのを廃止
- MW WP Form を実行するショートコード [mwform_key] をテンプレート埋め込み可能に
- 完了画面に送信されたデータを表示可能に
- いくつかのフックやメソッドを非推奨、使用不能に
- 翻訳を GlotPress に
他にもいろいろやってる気がするのですが、1年以上間が空いたりしていて僕も忘れちゃってるので、全てを把握したい方は GitHub の diff をご参照ください(そしてこれ漏れてるよと教えてもらえると超助かります)。
リファクタリングにいたった経緯
上記に書きました。ごちゃごちゃになってて自分でも把握でいていなかったのを整理したくてはじめましたが、後方互換性を気にしたり、PHP 5.2 対応を気にしたりすると抜本的な変更を入れることはなかなか難しく、かなり大幅に書き直してはいるものの、結局把握できるようにはなっていません…悲
よくメールやチャットなどで「簡単なことだと思うのでちょっと聞きますが…」というような問い合わせをいただきますが、開発者だからといって僕も全然把握できていないので、結局回答するためにはエディタを開いてコードを読み直したり、開発環境を立ち上げて実際にフォームを作ってみて、というようなことをしなければなりません。ごくたまにならまぁそういうのも別に良いのですが、週に数回は知っている方、知らない方、いろいろな方からそのような問い合わせがきていて、わりと大変で最近はほぼ無視することが多いので、えー、なるべく自分で頑張っていただくか、正式にお仕事としてご依頼いただければと思います。
入力フィールドをテーマ側で簡単に上書き可能に
メール設定が未入力の場合によしなに補完するのを廃止
便利だと思ってやっていたのですが、これがわりと混乱の原因の1つになっているようだったので廃止しました。つまり、送信元だとか、送信先だとか、そういった設定の自動補完がなくなりますので、全部入力が必要になります。これまで未入力で運用されている方の場合は、v4 にアップデートするとメールが送信されなくなりますので再設定してください。
MW WP Form を実行するショートコード [mwform_key] をテンプレート埋め込み可能に
これも混乱の原因になっていたので、リダイレクト処理を大幅につくりなおして、テンプレートにも埋め込めるようにしました。
これまでは、例えば確認画面に直接アクセスされたときに、ページが開く前に判定して PHP でリダイレクトさせていたのですが、一旦ページを開かせて JavaScript でリダイレクトさせるようにしました。この「ページが開く前に判定」というのがネックでテンプレート埋め込みができなかったんですよね。ということで、多分カスタムフィールドに [mwform_key] を入れて、みたいなこともできるようになったと思います(試していません)。
完了画面に送信されたデータを表示可能に
完了画面でもメールと同じように {name} で送信されたデータが表示できるようにしました。{hoge} と書くと、[mwform_text name=”hoge”] から送信されたデータが表示される、というような感じです。トラッキングナンバーはどうだったかな…ちょっと忘れたのでぜひ試してみてください(動作したかどうか報告いただけると超嬉しいです)。
いくつかのフックやメソッドを非推奨、使用不能に
プラグインの readme.txt で確認してください。
翻訳を GlotPress に
これまでプラグイン内に翻訳ファイルを同梱していましたが、全部削除して GlotPress で翻訳するようにしてみました。v4 からの翻訳対象文字列も GlotPress で翻訳してみたのですが、どうもまだ各 WordPress には配信されないようです(2018年9月1日11時現在)。ほっといたら時間差で配信されたりするのかな…。ずっと配信されないようならまた見直したりしてみます。
最後に
もし v4 にあげて不具合がでたとなったときに、フィードバックをいただくのは本当にありがたいのでぜひ報告していただきたいです。ただ、もう何度もしつこいくらいに書いていますが、「動かなくなった!至急対応してください!」みたいなのは無理です。MW WP Form は無償配布しているプラグインなので、どうしてもいま請けているお仕事が優先になります。
これまでに MW WP Form アドオンの開発をご依頼いただいた方で、アップデートしてアドオンがちゃんと動かなくなったという方がいらっしゃいましたら、順次対応いたしますのでお気軽にご連絡いただければと思います。