MW WP Formに用意されている各フォーム項目のショートコードにおいて、value値が設定可能ものに関してはフィルターフック「mwform_value_xxx」が使用できます。フィルターフック「mwform_value_xxx」を使うことで、URL引数で渡された値をもとに動的にvalueを設定することができるので、テキストフィールドやラジオボタンの初期値を設定する、のようなことが可能です。
フォーム項目のショートコードを記述するときにvalue値が設定されているとフックが実行されないので注意してください。
フック名「mwform_value_mw-wp-form-xxx」の xxx の部分はフックを適用したいフォームの作成画面に表示されているフォーム識別子の key になります([mwform_formkey key="3811"] の場合は 3811)。
サンプルコード
/**
* my_mwform_value
* @param string $value valueの初期値
* @param string $name name属性値
*/
function my_mwform_value( $value, $name ) {
// $_GET['hoge']があったら、name属性がhogeの項目の初期値に設定
if ( $name === 'hoge' && !empty( $_GET['hoge'] ) && !is_array( $_GET['hoge'] ) ) {
return $_GET['hoge'];
}
return $value;
}
add_filter( 'mwform_value_mw-wp-form-xxx', 'my_mwform_value', 10, 2 );