inputのhiddenに動的な値をセットする
<!-- フォームに設置 --> [mwform_hidden name="page_title"]
//function.php function my_mwform_value($value, $name){ if($name === 'page_title'){ $ID = get_the_ID(); $value = get_the_title( $ID ); } return $value; } add_filter('mwform_value_mw-wp-form-フォームナンバー', 'my_mwform_value', 10, 2);
selectに動的な値をセットする
<!-- フォームに設置 --> [mwform_select name="year" children=""]
// 1930年〜現在の年 + 10までをoptionに設定する function add_products($children, $atts){ if($atts['name'] == 'year'){ $this_year = wp_date('Y'); for($num = 1930; $num <= $this_year + 10; $num++){ $children[$num] = $num; } } return $children; } add_filter('mwform_choices_mw-wp-form-フォームナンバー', 'add_products', 10, 2);
フォームの入力内容をデータベースから取得する
最初に「 問い合わせデータをデータベースに保存」にチェックを入れて、最低でも一件は問い合わせがあることが前提。
入力項目は全てカスタムフィールドとして扱われるので「get_post_custom();」で取得して扱う
$mwid = '投稿ID(管理画面から確認可能)'; $form_id = 'formナンバー'; $args = array( 'post_type' => 'mwf_'.$form_id, 'p' => $mwid, ); $my_query = new WP_Query( $args ); while ( $my_query->have_posts() ) : $my_query->the_post(); // 処理 $my_cf = get_post_custom(); // 件名 echo $cf['title'][0]; endwhile; wp_reset_postdata();
フックでデータベース登録後に問い合わせの投稿IDを取得
最初に「 問い合わせデータをデータベースに保存」にチェックを入れて、最低でも一件は問い合わせがあることが前提。
function my_mwform_after_send( $Data ) { // DB登録・メール送信後の特定のフォームの時の処理 if ( $Data->get_form_key() === 'mw-wp-form-xxx' ) { $mailid = $Data->get_saved_mail_id(); return $mailid; } } add_action( 'mwform_after_send_mw-wp-form-15', 'my_mwform_after_send' );
画面変遷時のスクロールを有効にするが効かないときのjquery
jQuery(function($) { if ( $('.error')[0] ) { $('.mw_wp_form').addClass('mw_wp_form_error'); var errorEl = $('.error').eq(0); var position = errorEl.parent().offset().top - 100; $('body,html').delay(0).animate({scrollTop:position}, 300, 'swing'); } });