MW WP Form 日付の選択範囲を指定する

PHPワードプレス関数ファイルMW WP Formプラグインメールフォーム条件分岐関数

予約フォームは外部の予約システムを使われるお客様がほとんどで、こちらにお鉢は回ってこないのですが、たまたま依頼があったので書いてみました。

functions.php

/* ---------- 選択肢(予約日)を生成 ---------- */
function add_reserve_date( $children, $atts ) {
	if( $atts['name'] == 'reserve_date' ){
		$dates = array(
			date( 'Y年m月d日', strtotime( '+9hour, +3day' ) ),
			date( 'Y年m月d日', strtotime( '+9hour, +4day' ) ),
			date( 'Y年m月d日', strtotime( '+9hour, +5day' ) ),
			date( 'Y年m月d日', strtotime( '+9hour, +6day' ) ),
			date( 'Y年m月d日', strtotime( '+9hour, +7day' ) ),
			date( 'Y年m月d日', strtotime( '+9hour, +8day' ) ),
			date( 'Y年m月d日', strtotime( '+9hour, +9day' ) )
		);
		foreach( $dates as $date ){
			$select = $date;
			$children[$select] = $select;
		}
	}
	return $children;
}
add_filter( 'mwform_choices_mw-wp-form-XXX', 'add_reserve_date', 10, 2 );

セレクトボックス「reserve_date」の選択肢はこれこれで、という意味。

カウントを++してwhile~で、でも書けると思うけれど、選択肢が少ないし面倒なので。

 

フォームはこう。

[mwform_select name="reserve_date" children=""]

デートピッカー(カレンダー)

こういうことが大抵出来るようになっているのがMW WP Formのありがたいところ。

上記関数も要らない。

[mwform_datepicker name="reserve_date" size="12" js="minDate: 3, maxDate: 9"]

3日後から9日後までの1週間のみ選択できるようになります。