こんにちは
イベント投稿は xo_event カスタム投稿、イベント開始日は event_start_date カスタムフィールド、イベント終了日は event_end_date カスタムフィールドに格納されています。
2020年のイベント投稿は下記のようなコードで取得することができます。
$year = 2020;
$args = array(
'post_type' => 'xo_event',
'post_status' => 'publish',
'orderby' => array( 'event_start_date' => 'ASC', 'event_end_date' => 'DESC' ),
'meta_query' => array(
'event_start_date' => array( 'key' => 'event_start_date', 'value' => "$year-12-31", 'compare' => '<=', 'type' => 'DATE' ),
'event_end_date' => array( 'key' => 'event_end_date', 'value' => "$year-01-01", 'compare' => '>=', 'type' => 'DATE' ),
),
'posts_per_page' => -1,
);
$the_query = new WP_Query( $args );
if ( $the_query->have_posts() ) {
while ( $the_query->have_posts() ) {
$the_query->the_post();
// イベント開始日を取得
$start_date = get_post_meta( $post->ID, 'event_start_date', true );
// イベント終了日を取得
//$end_date = get_post_meta( $post->ID, 'event_end_date', true );
echo '<a href="' . get_permalink() . '">' . get_the_title() . '</a> イベント日: ' . esc_html( date_i18n( 'Y年n月j日', strtotime( $start_date ) ) );
}
wp_reset_postdata();
}