mwform_contact_data_post_type
mwform_get_inquiry_data_args-mwf_xxx
mwform_csv_encoding-mwf_xxx
保存した問い合わせデータは管理画面から CSV ファイルでダウンロードできますが、その CSV ファイルのエンコードを変更できます。
もともと、ダウンロードした CSV ファイルはエクセルで使用されることを想定していたため、デフォルトのエンコーディングはsjis-win
となっていますが、LibreOffice などのオープンソースオフィスソフトでは設定によっては文字化けしてしまうことがありますので、このフックを使ってutf-8
に変換する、ということが可能です。
データベースに保存したデータの並び順が意図したものと異なります。
MW WP Form は、仕組みの都合上、何という項目のメタデータが保存されるべきか、というのを管理していません。そのため、WordPress組み込みの関数でメタデータを一気に取得して表示しているのですが、その関数がどのような順番でメタデータを返すかはこちらでわからないのでそのような動作となります。あまりにバラバラなのもどうかと思うので、最近のバージョンでは昇順にソートするようにしています。
確認画面、管理画面に正しく遷移しないが、ログインしている状態であれば正しく動作する。
「URL引数を有効にする」を有効にして {hoge} を送信先に入れたのですがメールが送信されません。
送信先、CC、BCC に {hoge} は使用できません。
送信先を動的に変更したい場合は、mwform_admin_mail_mw-wp-form-xxx フックで変更できます。
http://plugins.2inc.org/mw-wp-form/filter-hook/mwform_admin_mail/
フックのコールバック関数内で URL 引数を利用してその投稿のメタデータを取得し、$Mail->to などに設定してください。
MW WP Form バージョン 2.5.0 を公開しました。
MW WP Form 2.5.0 を公開しました。主な変更箇所は以下のとおりです。
- HTML5 のフィールド ( email, url, range, number ) を追加
- datepicker に placeholder 属性を追加
- maxlength 属性の初期値を null に(もともと 255)
- CC・BCC の送信先が複数の場合、二重送信される不具合を修正
今回のバージョンでは要望をちょいちょい頂いていた HTML5 からの新しいフィールドを追加しました。非モダンブラウザに対する後方互換対策などは特に用意していないのでご注意ください。
また、今回は3人の方に不具合対策や機能追加のプルリクをいただきました。
WordCamp Kansai 2015 以降、みんなで開発したりサポートしようという感じが増えてきたなーと感じています。開発者として、プルリクもらえるのはすごく嬉しいのでどんどん送ってもらいたいですし、別にコードが汚いからとかプルリクの正しいやり方がわからないから、とかであれば、とりあえずもらえれば僕の方で調整すれば良いわけなので、どうぞお気軽にと思います。ポリシーにあわないプルリクだったらすみませんなのですが、そのときは拡張プラグインとして公開すれば良いというのが OSS のおもしろいところだなと思います。
アクションフック、バリデーションを追加した MW WP Form 2.5.2 を公開しました。
MW WP Form 2.5.2 を公開しました。主な変更箇所は以下のとおりです。
- ひらがな + カタカナバリデーションを追加
- アクションフック mwform_before_send_admin_mail_mw-wp-form-xxx を追加
- アクションフック mwform_before_send_reply_mail_mw-wp-form-xxx を追加
- アクションフック mwform_after_send_mw-wp-form-xxx を追加
- アクションフック mwform_enqueue_scripts_mw-wp-form-xxx を追加
ひらがな + カタカナバリデーションは @mypacecreator さんに、アクションフックの追加は @tomothumb さんにプルリクいただきました。ありがとうございます!
「ひらがな または カタカナ」バリデーション
これまで「ひらがなのみ許可」「カタカナのみ許可」のバリデーションはありましたが、「ひらがなもしくはカタカナのみ許可」というバリデーションはありませんでした。今回のアップデートで「ひらがな または カタカナ」というバリデーションを設定すると、「ひらがなもしくはカタカナのみ許可」を実現できるようになりました。
アクションフックの追加
MW WP Form のメール送信周りにはいくつかのフィルターフックが用意されています。ただ、アクションフックがなかったので、何らかの処理を追加したい場合に、本来は値を書き換えるためのフックであるフィルターフックの中で様々な処理を行う必要があり、処理の内容によっては前処理や後処理が必要で面倒だったり…ということもありました。今回のアップデートでメール送信の前後にアクションフックを設けたので、何らかの処理を追加したい場合は素直にアクションフックに書けるようになりました。
また、MW WP Form が設置されているページだけでスクリプトやCSSを読み込むためのフックmwform_enqueue_scripts_mw-wp-form-xxx
も追加されています。
mwform_url
mwform_range
mwform_number
kana
mwform_inquiry_data_columns-mwf_xxx
mwform_custom_mail_tag
フィルターフック mwform_custom_mail_tag_mw-wp-form-xxx で返される値を画面表示することができるショートコードです。
このショートコードを設置するだけでは何もおこありませんが、 mwform_custom_mail_tag_mw-wp-form-xxx と組み合わせることで画面表示に加え、メール送信・データベース保存が可能になります。入力された会員番号に紐づくデータを確認画面に表示してメール送信する、といったことが可能になります。
問い合わせデータカラムの並び替え機能や新しいフォーム要素の追加を行った MW WP Form 2.8.0 を公開しました。
主な更新内容は下記の通りです。
- スラッグでのフォーム呼び出しのサポート
- フィルターフック
mwform_inquiry_data_columns-mwf_xxx
の追加 - フィルターフック
mwform_upload_file_keys_mw-wp-form-xxx
の追加 - フィルターフック
mwform_upload_dir_mw-wp-form-xxx
およびmwform_upload_filename_mw-wp-form-xxx
で渡される引数に name 属性値を追加 - カスタムメールタグを画面表示するショートコードを追加
- 一部の docx、xlsx、pptx がアップロードできないことがある不具合を修正
- フィルターフック
mwform_upload_filename_mw-wp-form-xxx
で返したファイル名(拡張子含まず)に拡張子が自動付与されない不具合を修正 - メール内容に
{画像のname}
や{ファイルのname}
と書いたときにファイルの URL に変換されるように変更(ただし、データベースに保存するが有効な時のみ) - datepicker の js 属性において、オプションのプロパティ名をダブルクォーテーションで囲むことを(一応)必須に変更
- フォームのトークン名を変更
- (2.8.1)最小画像サイズバリデーションを追加
- (2.8.1)最大画像サイズバリデーションを追加
スラッグでのフォーム呼び出しのサポート
これまで、フォームの呼び出しは [[mwform_formkey key="10"]]
のようにフォームの Post ID による呼び出ししか行えませんでした。2.8.0 からは、フォームのスラッグでの呼び出しが可能になります。フォームの編集画面において、スラッグはデフォルトでは表示されていませんが、右上の「表示オプション」から設定を変更することで確認できるようになります。
[[mwform_formkey slug="フォームスラッグ"]]
この機能は GitHub で @nojimage さんにプルリク頂きました。ありがとうございます!
フィルターフック mwform_inquiry_data_columns-mwf_xxx の追加
データベースに保存された問い合わせデータの一覧、詳細ページ、CSV に出力されるカラム名を変更したり、並び替えたり、非表示にしたりすることができるフィルターフックです。詳しい使い方は mwform_inquiry_data_columns-mwf_xxx のページでご参照ください。
フィルターフック mwform_upload_dir_mw-wp-form-xxx および mwform_upload_filename_mw-wp-form-xxx で渡される引数に name 属性値を追加
これまで、フィルターフック mwform_upload_dir_mw-wp-form-xxx、mwform_upload_filename_mw-wp-form-xxx では画像やファイルを送信した要素の name 属性が把握できませんでした。2.8.0 からはフックの引数で name 属性が取得できるので、特定の要素から送信された画像のみ別のディレクトリに保存する、のようなことが可能になりました。
カスタムメールタグを画面表示するショートコードを追加
フィルターフック mwform_custom_mail_tag_mw-wp-form-xxx でフォーム要素が存在しなくてもメール内容に書いた {キー}
を何らかの値に変換してメール送信したりデータベースに保存することができますが、これを画面にも表示できるショートコードを追加しました。
例えば、入力画面で入力させた会員番号に紐づく情報を確認画面で表示させたり、メール送信・データベース保存したりすることが可能になりました。詳しくは mwform_custom_mail_tag をご参照ください。
datepicker の js 属性において、オプションのプロパティ名をダブルクォーテーションで囲むことを(一応)必須に変更
これまで [[mwform_datepicker name="datepicker" js="minDate: +1"]]
のような指定ができていましたが、これだと PHP 側でごにょごにょすることが難しかったため、正しいフォーマットで記入することを必須にしました。下記のようになります。
[[mwform_datepicker name="datepicker" js='"minDate": "+1"']]
ただ、これを本当に必須にしてしまうと 2.8.0 未満のユーザーさんの datepicker に相当なダメージを与えてしまいそうだったので、一応、内部的に js 属性をパースして正しいフォーマットに自動変換するような仕組みをつくりました。なので特に書きなおさなくてもほとんどの場合で正しく動作すると思います(多分)。2.8.0 にしたら js 属性が効かなくなった!という場合はフォーラムや GitHub の issue でお知らせください…。
(ショートコードの codex みてたら、そもそも属性値にシングルクォーテーションやダブルクォーテーションを含めないほうが良いと書いてあったので、ここで datepicker のオプションを指定されるというのがそもそも NG だった気がしないでもない…)
画像サイズバリデーションの追加
画像の最小サイズ、最大サイズの指定ができるバリデーションを追加しました。コードからこのバリデーションを追加する場合のサンプルコードは minimagesize、maximagesize をご参照ください。