MW WP Formをやってみたのでまとめてみた。
今までコンタクトフォーム7を利用していましたが、今一つ、あのプラグインを導入するとこっちのプラグインが動かない等ちょっと面倒くさいことが多かったので「MW WP Form」を使ってみることにした。
目次
プラグインについて
・無料
プラグイン本体(https://ja.wordpress.org/plugins/mw-wp-form/)
・有料
フォームジェネレーター
⇒追加スタイルあり
MW WP Form CAPTCHA
プラグイン販売(https://plugins.2inc.org/mw-wp-form/add-on/)
MW WP Formを利用してみて
フォームジェネレーター
フォームジェネレーターは、簡単に作れるが、自由度は減る。でも、大抵は問題ないのでは??
ゴリゴリやってもいいんだけど変更も多いからGUIでちゃちゃっと変更したいから導入した
⇒スタイルはビジネスタイプがよかったので追加した。
独自バリデーションチェックについて
※XXXは、ルール名
「mwform_validation_rules」でフィルターを追加して独自の値チェックルールを作ることができた。
1 |
add_filter( 'mwform_validation_rules', 'mwform_validation_rule_XXX' ); |
「public function rule( $key, array $options = array() )」で$optionsに設定値を引き渡すのが最初よくわからなかった。
nameのところで最後に[XXX]で指定すればいいらしい。
1 |
name="<?php echo MWF_Config::NAME; ?>[validation][<?php echo $key; ?>][<?php echo esc_attr( $this->getName() ); ?>][XXX]" |
初期値を入れたい
ログイン情報は「https://plugins.2inc.org/mw-wp-form/manual/」を参照すれば利用可能。
あとは、filterで自分で作れるのでACFで定義した値も取得することが可能
1 |
add_filter( 'mwform_value_mw-wp-form-フォームID', 'my_mwform_value', 10, 2 ); |
通し番号
用意されている。
出力
用意されている。
これで作りたかったフォームができるかな・・・?
既に指定されたフォームに投稿済みなのか調べる
重複禁止!っていうフォームを用意したいと思ったのでちょっと実現できるのか調べてみました。
基本的にはデータは「post」「postmeta」で構成されているようなのでカスタム投稿と投稿者、フォームIDで抽出可能。
あとは「get_post_meta」で「tracking_number」を取得すれば、問い合わせ番号がわかる。
※ログインユーザー限定。
「このページには直接アクセスできません」って表示される件
完了画面URLだけ指定していたら、確認画面等でこのメッセージが表示されるようになった。
対処としては、全ての画面のURLを入れればよいようだ。
例:reportというページでフォームを作っていて、完了ページをthanksとした場合は下記のような感じ