MW WP Formに用意されている各フォーム項目のショートコードにおいて、value値が設定可能ものに関してはフィルターフック「mwform_value_xxx」が使用できます。
フィルターフック「mwform_value_xxx」を使うことで、URL引数で渡された値をもとに動的にvalueを設定することができるので、テキストフィールドやラジオボタンの初期値を設定する、のようなことが可能です。
フォーム項目のショートコードを記述するときにvalue値が設定されているとフックが実行されないので注意してください。
例
フォーム
... [mwform_text name="hoge"] ...
functions.php
/**
* @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;
}
// 管理画面で作成したフォームの場合、フック名の後のフォーム識別子は「mw-wp-form-xxx」
add_filter( 'mwform_value_mw-wp-form-xxx', 'my_mwform_value', 10, 2 );
