MW WP FORM は、各種フックがあってカスタマイズが便利~とか言われているプラグインですが。。。
マニュアルにはあるのにフックが効かないフックがかなりある。
以前のバージョンでは動いていたフックもあり、サイトを検索して見つけても新しいバージョンではフックされないよってな状況。
MW WP FORM って、バージョンアップやめたのかな?
もしくは、バージョンアップした時点でテストしないとか?
とにかく効かないフックが結構ある。
その中で、もっとも困るのが、フィールドに値を入れるフック関数。
4.1.1では、フックが効かない。
MW WP FORM のフックが効かない対策
答えは、JAVASCRIPTで投げ込んじゃえ。
前の記事でも書きましたけど、MW WP FORM が出してくるフィールドって IDがセットされないものが結構あります。
ので、とりあえず MW WP FORM のソースをいじって ID を追加します。
場所は、4.1.1 で、templates/form-fields/ です。
その中に各フィールドの書式が入っているので、IDを追加してあげてください。
例えば、hidden.php の場合
0001<input type="hidden" name="<?php echo esc_attr( $name ); ?[" value="<?php echo esc_attr( $value ); ?>" />
これを
0001<input type="hidden" name="<?php echo esc_attr( $name ); ?>" id="<?php echo esc_attr( $name ); ?>" value="<?php echo esc_attr( $value ); ?>" />
にしてあげればOK.フックを使わずにデータに初期値を与える
もともと MW WP FORM の初期値変更のフックは、デフォルトでしか設定できませんので、どちらにしても別対応が必要でした。どうも設計が中途半端なプラグインです。
一つのフォームを使いまわしたいとかありますでしょう?
ページタイトルとか postで拾えるデータならまだしも・・・
で、どうするかといえば、投稿内に javascript を書いてあげます。
ターゲットのフィールド ID が resv_title の場合
0001
0002<script>
0003 document.getElementById(′resv_title′).value = ′abc′;
0004</script>
この abc をページごとに書き換えればOKなわけ。
こういうことをするためにもフィールドには name , id は必須なわけですが・・・
あなたが、これで逃げられたら幸いです。
ご検討ください。