予約カレンダーに、新たにリストカレンダーを表示するショートコードが追加されました。同時に、管理者宛予約メールを別のメールアドレスへ送信する機能が追加されました。

リストカレンダーの表示は、ショートコード「list_calendar」を指定して表示します。

[list_calendar id="xx"]

パラメータ各種

「id」は予約品目の post id で、カンマ区切りで複数指定することが可能です。パラメータの指定は他に以下のものがあります。

  •  class
    リストカレンダーを内包するdivタグにclass名を指定するとき設定します。
    デフォルトは「list-calendar」。
  • pagedays
    表示する日数を指定します。日数のカウントは、スケジュールで予約の受付を指定した日数になります。
    デフォルトは「10」。
  • period
    リストを表示するため予約データを検索する最大日数で、管理画面の各種設定で設定された「予約受付期間」とここで設定された日数の小さい方が利用されます。
    デフォルトは「180」。
  • caption
    tableに表示するcaptionの表示指定。表示しない場合は「0」を指定します。
    デフォルトは「1」。
  • header
    tableに表示する上部のthヘッダーの表示してい。表示しない場合は「0」を指定します。
    デフォルトは「1」。
  • link
    予約状況だけ表示し、予約入力フォームへはリンクを張らない場合に「0」を指定します。
    デフォルトは「1」。
  • alldays
    スケジュールが予約受付不可を設定した日付も表示したい場合に「1」を指定します。
    デフォルトは「0」。
  • low
    予約の残数率で「少」を決めず、残数がここで指定した数以下であれば「少」とします。
    デフォルトは「0」。
  • suppression
    予約不可文字の出力を抑制したい場合に「1」を指定します。
    デフォルトは「0」。
  • calendar_id
    ショートコードで他の予約カレンダーを表示している場合、メッセージフィルター機能でメッセージの書き換えをするカレンダーを識別したいときに指定します。メッセージフィルターにはここで指定された文字列が渡されます。
    デフォルトは空文字列。
  • anchor
    文字列を指定するとタイトル表示のh3タグにアンカー用ID「id=”calendar-anchor-xx”」が追加されます。
    デフォルトはなし。
  • year
    リストカレンダーを表示する年をyyyyで指定します。
    デフォルトは本年。
  • month
    リストカレンダーを表示する月をmmで指定します。
    デフォルトは今月。

メッセージフィルター

カレンダー出力の出力文字を書き換えるメッセージフィルターは次の通りです。

list02f

今回の機能追加でメッセージフィルターを利用する場合、本システムから書き換えのためのフィルタープログラムに渡す引数について、次のルールに従うようにしました。

  1.  フィルター関数に渡すパラメータは、書き換え前の文字列と書き換えの元になる項目の情報を配列で渡すようにします。フィルター関数の書き方は以下のようになります。
    add_filter("フィルター名", "フィルター関数名", 10, 2);
    function フィルター関数名($message, $params) {
        if ($params['calendar_id'] == "xxx") {
            :
            return …;
        }
        return $message;
    }
  2. $params配列には必ずショートコードで指定した「calendar_id」を戻すようにします。判定の必要がある場合に利用して下さい。何も指定されていない場合は空文字列になります。

次に、「calendar_id」以外のパラメータを渡すメッセージのみ、その内容を以下に説明します。

  • list_article_name
    $params[‘article_id’]:予約品目のpost id
  • list_article_time
    $params[‘article_id’]:予約品目のpost id
    $params[‘booking_time’]:予約日時のUnix Time(単位は秒)
  • list_note
    $params[‘article_id’]:予約品目のpost id
  • list_calendar_date
    $params[‘date_time’]:その日付の00:00:00時間のUnix Time(単位は秒)
  • list_calendar_marking
    $params[‘article_id’]:予約品目のpost id
    $params[‘mark’]:予約残数による状態
    vacant:未予約状態
    booked:予約有り状態
    low:残数少状態
    full:予約満杯状態
    disable:予約不可状態
    $params[‘remain’]:予約残数

リストカレンダーのスタイルは、プラグインディレクトリの「mtssb-front.css」やテーマにスタイルシートを追加するなどで対応をお願いします。

 管理者以外に予約メールを送信

予約を受け付けた際、自動で管理者へ送信するメールを、管理者以外のメールアドレスへ送信することが可能です。送信先のメールアドレスを予約品目の予約処理設定にある自動予約メールアドレス項目に設定して下さい。

amail01

 

メールは管理者(各種設定の施設情報で指定したメールアドレス)と、ここで指定されたメールアドレスへ送信されます。送信の必要がない場合は空欄にしておきます。