このページの説明はVer.1.19以降のカレンダー表示です。それ以前の場合、各バージョンの説明ページを参照して下さい。
受付時間が2つ以上ある予約は、予約カレンダーから日付を選択すると時間帯を選択するためのタイムテーブルが表示されます。
表示形式はショートコードのパラメータで 「dayform=”1″」を指定すると、セレクトボックスを利用したフォーム表示にすることができます。
タイムテーブルのメッセージフィルター
メッセージフィルターを利用して書き換えた例のフィルター名一覧です。
メッセージフィルターは次の通りです。
- mtssb_timetable_before
通常は何も表示しません。予約カレンダーと異なるメッセージを表示したい場合利用できます。- 引数
$str:デフォルト表示(空)
$param:配列(‘cid’ => calendar id, ‘aid’ => post id) - 戻り値
表示文字列
- 引数
- mtssb_timetable_name
予約品目の名前が表示されます。- 引数
$str:デフォルト表示(予約品目名)
$param:配列(‘cid’ => calendar id, ‘aid’ => post id) - 戻り値
表示文字列
- 引数
- mtssb_timetable_date
予約日付が表示されます。- 引数
$str:デフォルト表示(年月日曜日)
$param:配列(‘cid’ => calendar id, ‘aid’ => post id, ‘day’ => 予約日Unix time) - 戻り値
表示文字列
- 引数
- mtssb_daily_time_title
「時間」が表示されます。- 引数
$str:デフォルト表示(時間)
$param:配列(‘cid’ => calendar id, ‘aid’ => post id) - 戻り値
表示文字列
- 引数
- mtssb_daily_booking_title
「予約」が表示されます。- 引数
$str:デフォルト表示(予約)
$param:配列(‘cid’ => calendar id, ‘aid’ => post id) - 戻り値
表示文字列
- 引数
- mtssb_time_header
時間割時間が表示されます。- 引数
$str:デフォルト表示(00:00)
$param:配列(‘cid’ => calendar id, ‘aid’ => post id, ‘time’ => 秒数(0時=0秒)) - 戻り値
表示文字列
- 引数
- mtssb_daily_mark
予約状況が記号、または、残数で表示されます。- 引数
$str:デフォルト表示(記号または残数)
$param:配列(‘cid’ => calendar id, ‘aid’ => post id, ‘mark’ => 状況識別子, ‘remain’ => 残数) - 戻り値
表示文字列
- 引数
- mtssb_timetable_after
通常は何も表示しません。予約カレンダーと異なるメッセージを表示したい場合利用できます。- 引数
$str:デフォルト表示(空)
$param:配列(‘cid’ => calendar id, ‘aid’ => post id) - 戻り値
表示文字列
- 引数
以下は参考図で利用したメッセージフィルターのプログラム例です。
// メッセージをタイムテーブル上部に表示する
add_filter('mtssb_timetable_before', 'timetableBefore', 10, 2);
function timetableBefore($str, $param) {
if ($param['cid'] == 'myCalendar') {
return 'タイムテーブル上部 予約品目:post id=' . $param['aid'];
}
return $str;
}
// タイムテーブルのタイトル変更
add_filter('mtssb_timetable_name', 'timetableName', 10, 2);
function timetableName($str, $param) {
if ($param['cid'] == 'myCalendar') {
if ($param['aid'] == 20) {
return $str . ' (お勧めアトラクション No.1 !!)';
}
}
return $str;
}
// タイムテーブルの日付
add_filter('mtssb_timetable_date', 'timetableDate', 10, 2);
function timetableDate($str, $param) {
if ($param['cid'] == 'myCalendar') {
return date('D, j F Y', $param['day']);
}
return $str;
}
// タイムテーブル時間タイトル
add_filter('mtssb_daily_time_title', 'timetableTitle', 10, 2);
function timetableTitle($str, $param) {
if ($param['cid'] == 'myCalendar') {
return '予約時間';
}
return $str;
}
// タイムテーブル予約タイトル
add_filter('mtssb_daily_booking_title', 'bookingTitle', 10, 2);
function bookingTitle($str, $param) {
if ($param['cid'] == 'myCalendar') {
return '予約状況';
}
return $str;
}
// タイムテーブル時間表示
add_filter('mtssb_time_header', 'timeHeader', 10, 2);
function timeHeader($str, $param) {
if ($param['cid'] == 'myCalendar') {
$break = $param['time'] + 105 * 60;
return sprintf('%s〜%s', date('H:i', $param['time']), date('H:i', $break));
}
return $str;
}
// 予約残数
add_filter('mtssb_daily_mark', 'bookingMark', 10, 2);
function bookingMark($str, $param) {
if ($param['cid'] == 'myCalendar') {
return '残:' . $param['remain'];
}
return $str;
}
// メッセージをタイムテーブル下部に表示する
add_filter('mtssb_timetable_after', 'timetableAfter', 10, 2);
function timetableAfter($str, $param) {
if ($param['cid'] == 'myCalendar') {
return 'タイムテーブル下部 予約品目:post id=' . $param['aid'];
}
return $str;
}
時間割のセレクトボックス表示に関するメッセージフィルター
次の図はメッセージフィルターを利用してフォーム表示を書き換えた例の、フィルター名一覧です。
mtssb_tabletime_before,
mtssb_timetable_name,
mtssb_timetable_date,
mtssb_timetable_after
の4つは、先のフィルター名が同じメッセージフィルターと同じです。それ以外は次の通りです。
- mtssb_timetable_select_option
時間割の選択肢です。- 引数
$str:デフォルト表示(時間と予約状況)
$param:配列(‘cid’ => calendar id, ‘aid’ => post id, ‘time’ => 予約日時Unix time, ‘remain’ => 残数) - 戻り値
表示文字列
- 引数
- mtssb_daily_timetable_submit
送信ボタンの表示文字です。- 引数
$str:デフォルト表示(予約フォーム)
$param:配列(‘cid’ => calendar id, ‘aid’ => post id) - 戻り値
表示文字列
- 引数
次は参考図のプログラム例です。
// 予約フォーム表示
add_filter('mtssb_timetable_select_option', 'timeSelectOption', 10, 2);
function timeSelectOption($str, $param) {
if ($param['cid'] == 'myCalendar') {
$break = $param['time'] + 105 * 60;
return sprintf('%s〜%s 残:%d',
date('H:i', $param['time']), date('H:i', $break), $param['remain']);
}
return $str;
}
// 予約フォーム送信ボタン
add_filter('mtssb_daily_timetable_submit', 'timeSelectBtn', 10, 2);
function timeSelectBtn($str, $param) {
if ($param['cid'] == 'myCalendar') {
return 'フォーム入力';
}
return $str;
}



