This commit is contained in:
theShlavuk 2026-01-21 23:05:54 +01:00
parent e58d3eaf4e
commit 79dd7564bc

View File

@ -118,16 +118,6 @@ class CRVI_TraductionLangue_Model extends Main_Model {
]; ];
// Appliquer les filtres // Appliquer les filtres
if (!empty($filters['langue'])) {
$args['tax_query'] = [
[
'taxonomy' => 'langue',
'field' => 'term_id',
'terms' => (int) $filters['langue'],
],
];
}
if (!empty($filters['jour'])) { if (!empty($filters['jour'])) {
$args['meta_query'][] = [ $args['meta_query'][] = [
'key' => 'jour', 'key' => 'jour',
@ -147,8 +137,24 @@ class CRVI_TraductionLangue_Model extends Main_Model {
$posts = \get_posts($args); $posts = \get_posts($args);
$capacites = []; $capacites = [];
foreach ($posts as $post) { // Filtrer par langue si demandé (le champ langue est un ACF taxonomy multi-select stocké en meta)
$capacites[] = self::load($post->ID); if (!empty($filters['langue'])) {
$langue_id_filter = (int) $filters['langue'];
foreach ($posts as $post) {
$capacite = self::load($post->ID);
if ($capacite && !empty($capacite->langue)) {
// Le champ langue est un tableau d'IDs
$langue_ids = is_array($capacite->langue) ? $capacite->langue : [$capacite->langue];
if (in_array($langue_id_filter, $langue_ids)) {
$capacites[] = $capacite;
}
}
}
} else {
// Pas de filtre par langue, charger toutes les capacités
foreach ($posts as $post) {
$capacites[] = self::load($post->ID);
}
} }
// Mettre en cache si activé et sans filtres // Mettre en cache si activé et sans filtres