説明
カレンダーのイベント HTML をフィルターします。
使い方
add_filter( 'xo_event_calendar_event_title', 'my_xo_event_calendar_event_title', 10, 4 );
パラメータ
- $event_html
- (文字列) イベント HTML
- $event_post
- (配列) イベント情報の配列
-
- ‘post’ (イベント投稿)
- ‘title’ (タイトル)
- ‘short_title’ (ショートタイトル)
- ‘start_date’ (イベント開始日時)
- ‘end_date’ (イベント終了日時)
- ‘bg_color’ (背景色)
- ‘permalink’ (イベント投稿の URL)
- ‘category’ (イベントカテゴリーのスラッグ)
- $options
- (配列) オプション設定の配列
-
- ‘disable_event_link’ (イベントのリンクを無効にするかどうかを示す値)
- $args
- (配列) カレンダーの取得に使用される引数の配列
-
- ‘id’ (カレンダー ID)
- ‘show_event’ (イベントの表示/非表示)
- ‘categories_string’ (表示するカテゴリーの文字列)
- ‘holidays_string’ (表示する休日の文字列)
- ‘prev_month_feed’ (前月への月送りできる月数)
- ‘next_month_feed’ (次月への月送りできる月数)
- ‘start_of_week’ (週の開始曜日)
- ‘months’ (表示する月数)
- ‘navigation’ (月送りナビゲーションの表示/非表示)
- ‘year’ (年)
- ‘month’ (月)
用例
タイトルにアイキャッチ画像を表示する。
例では、ID が xo-event-calendar-1 のカレンダーを対象に、アイキャッチ画像があればアイキャッチ画像を、なければタイトルを表示しています。
add_filter( 'xo_event_calendar_event_title', function( $html, $event, $options, $args ) {
if ( 'xo-event-calendar-1' == $args['id'] ) {
$title = get_the_post_thumbnail( $event['post']->ID, array( 100, 100 ) );
if ( ! $title ) {
$title = ( $event['short_title'] ) ? $event['short_title'] : $event['title'];
}
$html = '<a href="' . esc_url( $event['permalink'] ). '" title="' . esc_attr( $event['title'] ) . '">';
$html .= '<span class="month-event-title" style="text-align: center; color: #333; background-color: ' . $event['bg_color'] . '">' . $title . '</span>';
$html .= '</a>';
}
return $html;
}, 10, 4 );
変更履歴
バージョン | 説明 |
---|---|
1.9.0 | 導入されました。 |
2.3.0 | $args パラメータを追加しました。 |