adding sorting function

This commit is contained in:
Antoine M 2023-12-14 17:24:50 +01:00
parent 9a3879d4e9
commit 6fb6e76c65

View File

@ -66,6 +66,11 @@ function getMainThematique($thematique)
return get_term($thematique->parent, 'thematiques');
}
}
// DOES THE SAME THING AS ABOVE BUT RENAMED
function getPostMainThematique($post)
{
return getMainThematique(get_the_terms($post, "thematiques")[0]);
}
// TO GET ARCHIVE RELATED PAGES BY TEMPLATE
function get_page_by_template($template = '')
@ -100,3 +105,48 @@ function show_post_type_label_name($post_type)
return null;
}
}
/* ---------
SORT BY THEMATIQUE PRIORITY
-----------------*/
// Fonction de comparaison pour trier par 'thematique_priority' utilisé par la fonction supérieur
function compareThematiquePriority($postA, $postB)
{
$priorityA = $postA->thematique_priority ?? 0;
$priorityB = $postB->thematique_priority ?? 0;
if ($priorityA == $priorityB) {
if ($postA->post_date > $postB->post_date) {
return -1;
} else {
return 1;
}
}
if ($priorityA < $priorityB) {
return 1;
}
if ($priorityA > $priorityB) {
return -1;
}
}
function sort_posts_per_thematiques_priority($postsQuery)
{
foreach ($postsQuery->posts as $key => $post) {
$thematique = getPostMainThematique($post);
$post->thematique_priority = get_field('thematique_order', $thematique) ?? 0;
}
// Tri du tableau en utilisant la fonction de comparaison
usort($postsQuery->posts, 'compareThematiquePriority');
return $postsQuery;
}