概要
tec_get_venue_ids
関数は、WordPress プラグイン「The Events Calendar」に含まれている関数で、特定のイベントに関連付けられた会場の ID を取得するために使用されます。この関数は、カスタムポストタイプやメタデータを扱う際に非常に役立ち、イベント管理や表示を行う際によく利用されます。特に以下のような機能を実装する際によく使われます。
- イベントに関連する会場情報の表示
- イベントごとの詳細ページでの会場リンクの生成
- 会場ごとのイベントリストの作成
- フィルタリング機能の追加によるイベントの絞り込み
- カスタムクエリの作成における会場情報の利用
- ウィジェットやショートコードでの会場情報の表示
構文
tec_get_venue_ids( $event_id = null );
パラメータ
$event_id
(int|null) – イベントの投稿 ID。指定しない場合は、現在の投稿 ID が使用される。
戻り値
- (array) – 指定されたイベントに関連付けられた会場の ID の配列。
バージョン情報
- プラグイン名: The Events Calendar
- プラグインのバージョン: 6.0 以降
- WordPress のバージョン: 5.0 以降
この関数のアクションでの使用可能性
アクション | 使用可能性 |
---|---|
mu_plugin_loaded | 〇 |
registered_post_type | |
plugins_loaded | 〇 |
wp_roles_init | |
setup_theme | |
after_setup_theme | |
set_current_user | |
init | 〇 |
register_sidebar | |
wp_loaded | 〇 |
send_headers | |
parse_query | |
pre_get_posts | 〇 |
wp | 〇 |
template_redirect | |
get_header | |
wp_head |
サンプルコード
サンプルコード 1
// 特定のイベントの会場 ID を取得して出力するサンプル
$event_id = 123; // 対象のイベント ID を指定
$venue_ids = tec_get_venue_ids( $event_id );
if ( ! empty( $venue_ids ) ) {
echo '関連する会場の ID: ' . implode( ', ', $venue_ids );
}
このコードは、指定したイベント ID に関連する会場の ID を取得し、スペース区切りで出力します。
サンプルコード 2
// 投稿内でのイベント会場へのリンクを作成する
$event_id = get_the_ID();
$venue_ids = tec_get_venue_ids( $event_id );
foreach ( $venue_ids as $venue_id ) {
$venue_link = get_permalink( $venue_id );
echo '<a href="' . esc_url( $venue_link ) . '">会場へ</a>';
}
この例では、現在の投稿に関連する会場のリンクを作成して表示しています。
サンプルコード 3
// 特定のショートコード内で会場 ID を表示する例
function display_event_venues() {
$event_id = get_the_ID();
$venues = tec_get_venue_ids( $event_id );
return ! empty( $venues ) ? implode( ', ', $venues ) : '会場が見つかりません';
}
add_shortcode( 'event_venues', 'display_event_venues' );
このコードはショートコード [event_venues]
を作成し、投稿やページ内での会場 ID を表示します。
サンプルコード 4
// イベントアーカイブページで会場情報を表示
function display_event_venue_info() {
if ( is_post_type_archive( 'tribe_events' ) ) {
global $post;
$venue_ids = tec_get_venue_ids( $post->ID );
if ( ! empty( $venue_ids ) ) {
echo '<h2>会場情報:</h2>';
foreach ( $venue_ids as $venue_id ) {
echo '<p>' . get_the_title( $venue_id ) . '</p>';
}
}
}
}
add_action( 'tribe_events_after_footer', 'display_event_venue_info' );
このコードは、イベントアーカイブページのフッターに会場情報を表示するカスタム関数を追加しています。
サンプルコード 5
// カスタムクエリで特定の会場のイベントを取得
$venue_id = 456; // 指定された会場 ID
$args = array(
'post_type' => 'tribe_events',
'meta_query' => array(
array(
'key' => '_venue_id',
'value' => $venue_id,
'compare' => '='
)
)
);
$query = new WP_Query( $args );
if ( $query->have_posts() ) {
while ( $query->have_posts() ) {
$query->the_post();
echo '<h3>' . get_the_title() . '</h3>';
}
}
wp_reset_postdata();
このサンプルは、特定の会場 ID に関連するイベントをカスタムクエリを使って取得し、タイトルを表示します。