「WordPressで学ぶPHP(4)通信編」を発売しました。
本書は、「WordPressで学ぶPHP(1)変数・制御構造編」「WordPressで学ぶPHP(2)データ構造編」「WordPressで学ぶPHP(3)関数編」の続編にあたり、Webブラウザとサーバー(PHP)との通信と、PHPから他のサーバーに通信することについて解説します。
イベントカレンダープラグイン(その7・イベントカレンダーの静的出力)
イベントカレンダープラグインでは、特定月のイベントを、MTCalendarタグと同様のテンプレートの書き方で、カレンダーに出力することができます。
1.MTEventCalendarタグ
イベントカレンダーを静的に出力するには、MTEventCalendarというブロックタグを使います。
ブロックの中では、MTCalendarタグと同じテンプレートタグを使うことができます。
また、以下のモディファイアを指定することができます。
モディファイア | 内容 |
---|---|
month="this" | 再構築したときの月のカレンダーを出力します。 |
month="next" | 再構築したときの来月のカレンダーを出力します。 |
month="last" | 再構築したときの前月のカレンダーを出力します。 |
month="YYYYMM" | YYYY年MM月のカレンダーを出力します。 例えば、「month="201404"」とすると、2014年4月のカレンダーを出力します。 |
type="start_date" | イベント開始日時に基づいたカレンダーを出力します(詳細は後述) |
2.MTEventCalendarタグとMTEntriesタグの組み合わせ
MTEventCalendarタグのブロックの中でMTEntriesタグを使って、それぞれの日のイベント一覧を出力することができます。
その際に、複数日にまたがるイベントは、そのそれぞれの日に出力します。
例えば、開始日が2014年4月10日で、終了日が2014年4月15日のイベントがあるとします。
MTEventCalendarタグでは、このイベントは4月10日~4月15日のそれぞれに出力されます。
3.typeモディファイア
MTEventCalendarタグの通常の動作では、「カレンダーの月に開催期間が含まれるイベント」を出力します。
例えば、2014年4月のカレンダーの場合、以下のいずれかの条件を満たすイベントを出力します。
- 開始日が2014年4月1日~30日に入っている
- 終了日が2014年4月1日~30日に入っている
- 開始日が2014年4月より前で、終了日が2014年4月より後
ただ、場合によっては、「イベントの開始日が○○年□□月」というイベントだけを出力したいこともあります。
その場合は、MTEventCalendarタグに「type="start_date"」のモディファイアを指定します。
4.タグの組み方の例
カレンダーを出力し、それぞれの日にその日のイベントの一覧を出力する場合、以下のようにタグを組みます。
<table> <tr><th>日</th><th>月</th><th>火</th><th>水</th><th>木</th><th>金</th><th>土</th></tr> <mt:EventCalendar> <mt:CalendarWeekHeader><tr></mt:CalendarWeekHeader> <td> <mt:CalendarIfBlank> <mt:Else> <$mt:CalendarDay$> <mt:Entries> <mt:EntriesHeader><ul></mt:EntriesHeader> <li><a href="<$mt:EntryPermalink$>"><$mt:EntryTitle$></a></li> <mt:EntriesFooter></ul></mt:EntriesFooter> </mt:Entries> </mt:CalendarIfBlank> </td> <mt:CalendarWeekFooter></tr></mt:CalendarWeekFooter> </mt:EventCalendar> </table>