FEATURE Add support for filtering posts by etiquette in post grid when page is loaded with a query var

This commit is contained in:
Antoine M 2026-03-20 17:01:10 +01:00
parent 1ff55bb638
commit 257673bb2e

View File

@ -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);
?>
<section class="post-grid content-section">
<section class="post-grid content-section <?php echo !empty($etiquette_slug) ? 'has-initial-filter' : '' ?>">
<h2 class="find-publication__title title-small"><?php echo $grid_title; ?></h2>
<div class="content-section__inner">
<?php get_template_part('template-parts/components/archive/post-grid-toolbar', null, array(
'posts_query' => $posts_query,
'current_post_type' => $current_post_type,
)); ?>
<?php get_template_part('template-parts/components/archive/post-grid-toolbar', null, array(
'posts_query' => $posts_query,
'current_post_type' => $current_post_type,
'etiquette_active_filter_slug' => $etiquette_slug,
)); ?>
<ul class="post-grid__list">
<?php if (isset($posts_query) && $posts_query->have_posts()) : ?>