' . wp_kses_post(EVQRA_Core::frontend_navigation()) . ''; ?>
'evqra_event', 'posts_per_page' => $per_page, 'paged' => max(1, absint($paged)), 'meta_key' => '_evqra_event_date', 'orderby' => 'meta_value', 'order' => 'ASC', ]; if (!empty($filters['category'])) $args['tax_query'][] = ['taxonomy' => 'evqra_event_category', 'field' => 'slug', 'terms' => sanitize_text_field($filters['category'])]; if (!empty($filters['organizer'])) $args['meta_query'][] = ['key' => '_evqra_event_organizer_id', 'value' => absint($filters['organizer']), 'compare' => '=', 'type' => 'NUMERIC']; if (!empty($filters['venue'])) $args['meta_query'][] = ['key' => '_evqra_event_venue_id', 'value' => absint($filters['venue']), 'compare' => '=', 'type' => 'NUMERIC']; if (!empty($filters['date'])) $args['meta_query'][] = ['key' => '_evqra_event_date', 'value' => sanitize_text_field($filters['date']), 'compare' => '=']; if (!empty($filters['keyword'])) $args['s'] = sanitize_text_field($filters['keyword']); $events = new WP_Query($args); if (!$events->have_posts()) { echo '

' . esc_html__('Nothing matched your search', 'eventqora') . '

' . esc_html__('Try a different category, venue, organizer, or date.', 'eventqora') . '

'; return ['found' => false, 'has_more' => false]; } $current_page = max(1, absint($paged)); $has_more = $events->max_num_pages > $current_page; echo '
'; while ($events->have_posts()) : $events->the_post(); $event_id = get_the_ID(); $date = get_post_meta($event_id, '_evqra_event_date', true); $time = get_post_meta($event_id, '_evqra_event_time', true); $end_time = get_post_meta($event_id, '_evqra_event_end_time', true); $venue_id = absint(get_post_meta($event_id, '_evqra_event_venue_id', true)); $organizer_id = absint(get_post_meta($event_id, '_evqra_event_organizer_id', true)); $venue = $venue_id ? get_the_title($venue_id) : ''; $organizer = $organizer_id ? get_the_title($organizer_id) : ''; $categories = wp_get_post_terms($event_id, 'evqra_event_category'); $permalink = get_permalink(); $date_display = $date ? wp_date(get_option('date_format'), strtotime($date)) : ''; $month = $date ? wp_date('M', strtotime($date)) : ''; $day = $date ? wp_date('d', strtotime($date)) : ''; $excerpt = wp_trim_words(wp_strip_all_tags(get_the_excerpt() ?: get_the_content()), 18); echo '
'; echo ''; if (evqra_event_has_valid_thumbnail($event_id)) echo get_the_post_thumbnail($event_id, 'medium_large', ['loading' => 'lazy']); else echo ''; if (get_post_meta($event_id, '_evqra_event_featured', true)) echo '' . esc_html__('Featured', 'eventqora') . ''; echo ''; echo '
'; if (!empty($categories) && !is_wp_error($categories)) { echo '
'; foreach (array_slice($categories, 0, 2) as $term) { $palette_class = evqra_get_category_palette_class($term->term_id); echo '' . esc_html($term->name) . ''; } echo '
'; } echo '
' . esc_html($month) . '' . esc_html($day) . '
'; echo '

' . esc_html(get_the_title()) . '

'; if ($excerpt) echo '

' . esc_html($excerpt) . '

'; echo '
'; if ($date_display) echo '' . esc_html($date_display . ($time ? ' · ' . $time : '') . ($end_time ? ' – ' . $end_time : '')) . ''; if ($venue) echo '' . esc_html($venue) . ''; if ($organizer) echo '' . esc_html($organizer) . ''; echo '
'; echo '
'; endwhile; echo '
'; wp_reset_postdata(); return ['found' => true, 'has_more' => $has_more]; }