「WordPressで学ぶPHP(3)関数編」を発売しました。
本書は「WordPressで学ぶPHP(1)変数・制御構造編」「WordPressで学ぶPHP(2)データ構造(配列・オブジェクト)編」の続編にあたり、PHP組み込みの関数や、独自の関数を作る方法などを解説します。
Kindle本で、定価400円です。
イベントカレンダープラグイン(その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>
