xo_event_calendar_event_title フック

説明

カレンダーのイベント 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 パラメータを追加しました。