Zum Hauptinhalt springen
Blog & News

Aktuelles & Updates von
Joomla, Wordpress und Co.

News, HowTos und Tutorials rund um Webdesign, Webentwicklung, Webhosting und Digitalisierung.

Blog & News

Tribe Events vergangene Veranstaltungen im Backend verstecken

25.09.2026 · 2 Min Lesezeit

Der beliebte WordPress Event-Kalender "The Events Calendar / Tribe Events" hält alle Veranstaltungen im Backend in einem Tab. Das ist nach ein paar Jahren sehr unübersichtlich. Wir haben eine Lösung um vergangene Events im Backend auszublenden.

Dazu legen wir in der functions.php einen neuen Filter an, welcher die Standard Abfrage anpasst

function filter_past_events_in_admin( $query ) {
    // Check if we are in the WordPress admin and it's the tribe_events post type list
    if ( is_admin() && $query->get('post_type') === 'tribe_events' && $query->get('eventDisplay') !== 'past' ) {
        // Filter out events whose end date is before the current time
        add_filter( 'posts_clauses', 'exclude_past_events_clauses', 10, 2 );
    }
}
add_action( 'pre_get_posts', 'filter_past_events_in_admin' );

function exclude_past_events_clauses( $clauses, $query ) {
    global $wpdb;
    
    // Ensure we only apply this to the main admin event query
    remove_filter( 'posts_clauses', 'exclude_past_events_clauses', 10 );

    $clauses['join'] .= " INNER JOIN {$wpdb->postmeta} AS pm_end ON {$wpdb->posts}.ID = pm_end.post_id";
    $clauses['where'] .= " AND pm_end.meta_key = '_EventEndDate' AND pm_end.meta_value >= '" . current_time('mysql') . "'";

    return $clauses;
}
Zurück zur Übersicht