MTS Simple Booking C 今日から始まる予約カレンダー表示にする

wordpressの、予約フォームを生成するプラグインMTS Simple Booking Cについて。 デフォルトではその月のカレンダー全体が表示されるが、これをその日から2周間ぶんだけ表示する設定にする。

変更るのは主にmtssb-front.phpのmonthly_calendar($atts)。

まず曜日表示をその日の曜日から始まるようにする。 そして、月や年が変わったら、変わった初日だけ月も表示するようにした。これは_reservation_of_the_day()に3つめの引数を追加して、trueなら月も表示するようにして対応した。以下変更箇所のみ記述。

monthly_calendar

<?php $today = date('w'); ?>
<table>
<tr>
    <?php for ($i = 0; $i < 7; $i++) {
        $week = strtolower($this->weeks[($today+$i)%7]);
        echo "<th class=\"week-title $week\">" . $weeknames[($today+$i)%7] . "</th>";
    } ?>
</tr>

<?php
$month_display = true;
    for ($i = 0, $day = date(d) ; $i <14 ; $i++, $day++) {
    // 行終了
        if ($i % 7 == 0) {
            echo (0 < $i ? "</tr>\n" : '') . "<tr>\n";
        }
        if ($day <= $days) {
            $ymdtime = mktime(0, 0, 0, $themonth, $day, $theyear);
            $this->_reservation_of_the_day($ymdtime, $params,$i==0);
        } else if($themonth < 12){
            $ymdtime = mktime(0, 0, 0, $themonth + 1, $day - $days, $theyear);
            $this->_reservation_of_the_day($ymdtime, $params,$month_display);
            $month_display =false;
        } else {
            $ymdtime = mktime(0, 0, 0, $themonth -11, $day - $days, $theyear +1 );
            $this->_reservation_of_the_day($ymdtime, $params,$month_display);
            $month_display =false;
        }
    }
?>
</table>

_reservation_of_the_day

$idxmonth = date('n', $thetime);


if ($month_display){
    echo "<div class=\"day-number\" align=\"center\">".esc_html(strval($idxmonth)."/".apply_filters('mtssb_day', intval($idxday))) . '</div>';
}else{
    echo "<div class=\"day-number\">" . esc_html(apply_filters('mtssb_day', intval($idxday))) . '</div>';
}