test
This commit is contained in:
parent
444ab59ff7
commit
9369ee17ce
@ -995,21 +995,23 @@ class CRVI_TraductionLangue_Model extends Main_Model {
|
||||
}
|
||||
}
|
||||
|
||||
// Récupérer uniquement les termes de la taxonomie 'langue' qui sont liés à des posts 'traduction_langue' actifs
|
||||
$langues_terms = \get_terms([
|
||||
'taxonomy' => 'langue',
|
||||
'hide_empty' => true, // Important: ne récupérer que les termes utilisés
|
||||
'object_ids' => \get_posts([
|
||||
// Récupérer tous les posts 'traduction_langue' publiés et actifs
|
||||
$capacites_posts = \get_posts([
|
||||
'post_type' => 'traduction_langue',
|
||||
'post_status' => 'publish',
|
||||
'numberposts' => -1,
|
||||
'fields' => 'ids'
|
||||
])
|
||||
'posts_per_page' => -1,
|
||||
'meta_query' => [
|
||||
[
|
||||
'key' => 'actif',
|
||||
'value' => '1',
|
||||
'compare' => '=',
|
||||
],
|
||||
],
|
||||
]);
|
||||
|
||||
error_log('🔍 Langues récupérées: ' . print_r($langues_terms, true));
|
||||
error_log('🔍 Posts de capacités récupérés: ' . count($capacites_posts));
|
||||
|
||||
if (\is_wp_error($langues_terms) || empty($langues_terms)) {
|
||||
if (empty($capacites_posts)) {
|
||||
// Mettre en cache un résultat vide
|
||||
if ($use_cache) {
|
||||
\set_transient($cache_key, [], 1 * \DAY_IN_SECONDS);
|
||||
@ -1017,17 +1019,64 @@ class CRVI_TraductionLangue_Model extends Main_Model {
|
||||
return [];
|
||||
}
|
||||
|
||||
error_log('🔍 Langues récupérées: ' . print_r($langues_terms, true));
|
||||
// Construire une liste unique de langues à partir des capacités actives
|
||||
$langues_ids = [];
|
||||
foreach ($capacites_posts as $post) {
|
||||
$langue_field = \get_field('langue', $post->ID);
|
||||
// Le champ langue est un tableau d'IDs (multi-select)
|
||||
if (is_array($langue_field)) {
|
||||
foreach ($langue_field as $langue_id) {
|
||||
if (!empty($langue_id) && !in_array($langue_id, $langues_ids)) {
|
||||
$langues_ids[] = (int) $langue_id;
|
||||
}
|
||||
}
|
||||
} elseif (!empty($langue_field)) {
|
||||
// Cas où c'est un seul ID (ne devrait pas arriver avec multi-select, mais on gère)
|
||||
$langue_id = (int) $langue_field;
|
||||
if (!in_array($langue_id, $langues_ids)) {
|
||||
$langues_ids[] = $langue_id;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
error_log('🔍 IDs de langues uniques: ' . print_r($langues_ids, true));
|
||||
|
||||
if (empty($langues_ids)) {
|
||||
// Mettre en cache un résultat vide
|
||||
if ($use_cache) {
|
||||
\set_transient($cache_key, [], 1 * \DAY_IN_SECONDS);
|
||||
}
|
||||
return [];
|
||||
}
|
||||
|
||||
// Récupérer les objets termes pour ces langues
|
||||
$langues_terms = [];
|
||||
foreach ($langues_ids as $langue_id) {
|
||||
$term = \get_term($langue_id, 'langue');
|
||||
if ($term && !\is_wp_error($term)) {
|
||||
$langues_terms[] = $term;
|
||||
}
|
||||
}
|
||||
|
||||
error_log('🔍 Langues récupérées: ' . count($langues_terms));
|
||||
error_log('🔍 Date de début: ' . $date_debut);
|
||||
error_log('🔍 Date de fin: ' . $date_fin);
|
||||
|
||||
if (empty($langues_terms)) {
|
||||
// Mettre en cache un résultat vide
|
||||
if ($use_cache) {
|
||||
\set_transient($cache_key, [], 1 * \DAY_IN_SECONDS);
|
||||
}
|
||||
return [];
|
||||
}
|
||||
|
||||
$result = [];
|
||||
|
||||
foreach ($langues_terms as $langue_term) {
|
||||
// Vérifier qu'il existe au moins une capacité active pour cette langue
|
||||
$capacites = self::getActiveCapacites(['langue' => $langue_term->term_id], false);
|
||||
|
||||
error_log('🔍 Capacités récupérées: ' . print_r($capacites, true));
|
||||
error_log('🔍 Capacités pour ' . $langue_term->name . ' (ID: ' . $langue_term->term_id . '): ' . count($capacites));
|
||||
|
||||
if (empty($capacites)) {
|
||||
// Pas de capacité active pour cette langue, on saute
|
||||
@ -1048,7 +1097,6 @@ class CRVI_TraductionLangue_Model extends Main_Model {
|
||||
'by_jour' => $dispos['by_jour'],
|
||||
];
|
||||
}
|
||||
|
||||
error_log('🔍 Résultat: ' . print_r($result, true));
|
||||
|
||||
// Trier par nom de langue
|
||||
|
||||
Loading…
Reference in New Issue
Block a user