From 257673bb2e985b17dcd349e31436b0a749eabd1c Mon Sep 17 00:00:00 2001 From: Antoine M Date: Fri, 20 Mar 2026 17:01:10 +0100 Subject: [PATCH] FEATURE Add support for filtering posts by etiquette in post grid when page is loaded with a query var --- .../components/archive/post-grid.php | 38 +++++++++++++++---- 1 file changed, 30 insertions(+), 8 deletions(-) diff --git a/template-parts/components/archive/post-grid.php b/template-parts/components/archive/post-grid.php index eb47b63..d41d5df 100644 --- a/template-parts/components/archive/post-grid.php +++ b/template-parts/components/archive/post-grid.php @@ -3,21 +3,43 @@ $post_amount = $args['post_amount'] ?? -1; $grid_title = $args['grid_title'] ?? 'Trouver une publication'; $current_post_type = $args['current_post_type'] ?? get_post_type(); -$posts_query = new WP_Query(array( +// Récupérer le paramètre etiquette de l'URL +$etiquette_slug = isset($_GET['etiquette']) ? sanitize_text_field($_GET['etiquette']) : ''; + + +// Construire les arguments de la query +$query_args = array( 'post_type' => $current_post_type, - 'posts_per_page' => $post_amount -)); + 'posts_per_page' => $post_amount, + 'post_status' => 'publish', +); + +// Si on a une étiquette, ajouter le filtre taxonomy +if (!empty($etiquette_slug)) { + $query_args['tax_query'] = array( + array( + 'taxonomy' => 'etiquettes', + 'field' => 'slug', + 'terms' => $etiquette_slug, + ), + ); +} + + +$posts_query = new WP_Query($query_args); + ?> -
+

- $posts_query, - 'current_post_type' => $current_post_type, - )); ?> + $posts_query, + 'current_post_type' => $current_post_type, + 'etiquette_active_filter_slug' => $etiquette_slug, + )); ?>
    have_posts()) : ?>