Mit diesem Code-Scnippet / Hook ist es möglich, das WP-Query zu veränderrn. Dieser Hook setzt direkt vor dem Ausführen des Loops ein.
Wichtig: Das beeinflusst jeden Loop. Das heißt auch die Loops im Backend.
/* Mit dem Filter kann man die Queries manipulieren ohne Custom-Queries auf jeder Seite schreiben zu müssen. Dokumentation: @link : https://developer.wordpress.org/reference/hooks/pre_get_posts/ @link : https://codex.wordpress.org/Plugin_API/Action_Reference/pre_get_posts @link : https://codex.wordpress.org/Class_Reference/WP_Meta_Query WICHTIGER HINWEIS: Dieses Query manipuliert alle Loops, d.h. auch die im Backend! Mit is_admin() immer kontrollieren ob man auch im Frontend ist! */ function filter_by_visibility_meta( $query ) { $country_meta = get_country_meta_query_array(); $user_group_meta = get_user_group_meta_query_array(); $meta_query = [ 'relation' => 'AND', $country_meta, $user_group_meta, ]; if( !is_admin() ){ // Nur zum Test ob die Filterfunktion aufgerufen wird // $query->set( 'posts_per_page', 1 ); $query->set( 'meta_query', $meta_query ); } return; } add_action( 'pre_get_posts', 'filter_by_visibility_meta' );