予約日の時間割表示の仕方を変える。

MTS Simple Booking C の予約カレンダーの時間割表示の画面左側

デフォルトで「 10:00 」などと表示されるのを
jikan1

「 10:00~12:00 」などと終わりの時間も表示する形に変えた。
jikan2

これには、フィルターが備わっているので簡単な関数を追記するだけで変えられる。

追記するファイルは、テーマの functions.php またはプラグインの mts-simple-booking.php でもよい。

functions.php で誤った記述でエラーを起こすと WordPress の管理画面にログインできなくなってしまう危険があるので、mts-simple-booking.php にした方が安全だ。

mts-simple-booking.php の一番下に下記の記述を書き足す。

2行目右の「 $tabletime+7200 」の「 7200 」は2時間を秒に換算した数値。

2時間 = (2×60×60) 秒 = 7200秒

2時間以外の幅にする場合は数値を変えればよい。

  • このエントリーをはてなブックマークに追加

コメント

  1. 伊達 より:

    とてもわかり易い説明でとても助かっております。

    ところで、時間表示ですが、ランダムに09:30〜12:30、13:00〜15:00、15:30〜17:30、18:00〜21:00のように表示するにはどうすればよろしいでしょうか?

    初心者ながらにレンタルルームのサイトを作成しております。
    ご教示よろしくお願い致します。

    • 管理人 より:

      09:30~と18:00~が3時間幅で、残りが2時間幅なので、2つに場合分けしてはどうでしょう。
      時間を秒に換算して、
      9:30 → 9.5*60*60(秒)
      18:00 → 18*60*60(秒)
      3時間 → 3*60*60(秒)
      2時間 → 2*60*60(秒)

      となるので、下記のように変えればできます。

  2. 髙橋 より:

    貴重な情報をありがとうございます。
    カレンダーページを「10:00」→「10:00~11:00」へ変更した後も、ラジオボタンを押した先の予約フォームや予約確認画面、申込み者への送信メール、管理者への受信メールなどが、「10:00」のままとなっております。
    これらの修正方法をご存じでしたら、ご教授いただけませんでしょうか?

    • 管理人 より:

      下記を追加すれば、できるみたいです。

  3. 細井 より:

    管理者様のわかりやすい説明のおかげで、コードの読み方~サイトのカスタマイズまで大変助かっております。本当にありがとうございます。

    時間割についてご教授ください。
    「時間割を30分間隔にして、予約者の都合で30分~2時間の予約をとる」
    「それを時間割に反映する」
    「もしくはそれに代わる時間割りを作る」
    (・時間割からリンクを外して、複数チェックする
     ・編集画面で一括で予約済みにする等)
    事は可能でしょうか?

    稚拙な質問でご面倒かと思いますがよろしくお願いいたします。

    • 管理人 より:

      申し訳ありませんが、そのような改造は、私には出来そうにありません。

      • 細井 より:

        お読みいただきましてありがとうございます。
        勉強するか、制作者にお願いしないとですね。

        こちらの記事には本当に助けていただいてます。
        返信ともども本当にありがとうございます。

  4. mori より:

    このカスタム探しておりまして、とても助かりました。

    リストカレンダーの方でも同じように時間表示を変えたいと思っていますが、
    なかなかなんて書いて良いのかわかりません。

    もしご存じでしたら、ご教授いただけませんでしょうか?

    • 管理人 より:

      リストカレンダーとは何か分からなかったので、製作者様のサイトを調べたら
      有償のビジネス版の機能のようですね。
      私にはどのようなものか、よく分かりません。

  5. 星野 より:

    とても参考にさせていただいています。
    すでに質問されている内容とかぶるのですが、予約ページで時間帯を10:00~13:00、16:00~20:00と表示することはできたのですが、予約確認の画面で表示される時間の場合わけを同様に行ってもうまくいかず、10:00~14:00と16:00~20:00になってしまいます。
    修正方法をご存知であればご教授ください。

    • 管理人 より:

      想像ですが、if の後の()の中の記述を間違えているのではないでしょうか。
      予約確認では変数名が $tabletime ではなく $booking_time です。
      下記のように書けば大丈夫だと思います。

      • 星野 より:

        早速のご回答ありがとうございます!
        ifの後の()内は$booking_timeにしているのですがうまくいきません…。
        どこかでコードを書き違えているのかもと思い、管理人さまの上記の記述をコピペさせていただきやり直してみたのですがだめでした。
        ~の追加表記や予約時刻+4時間の時刻は表示されるので、ifの内容だけが認識されていないようです・・・。
        他になにか修正方法はご存知でしょうか?

        • 管理人 より:

          すいません、間違えました。
          $tabletime は時間を秒で表した数字ですが、$booking_time は1970年1月1日からの秒数でした。

          下記のように書けば大丈夫なはずです。
          (ifの後の()内だけ訂正しました。)

          • 星野 より:

            おかげさまで修正できました。
            本当に助かりました!ありがとうございます。

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です