parent == 0) { return $thematique; } else { return get_term($thematique->parent, 'thematiques'); } } // DOES THE SAME THING AS ABOVE BUT RENAMED function getMainThematique($thematique) { if (!$thematique) { return null; } if ($thematique->parent == 0) { return $thematique; } else { 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 = '') { $args = array( 'meta_key' => '_wp_page_template', 'meta_value' => $template ); return get_pages($args); } function show_post_type_label_name($post_type) { switch ($post_type) { case 'questions': return __("Question", "homegrade-theme__texte-backoffice"); case 'conseils': return __("Conseil", "homegrade-theme__texte-backoffice"); case 'page': return __("Page", "homegrade-theme__texte-backoffice"); case 'post': return __("News", "homegrade-theme__texte-backoffice"); case 'jobs': return __("Offre d'emploi", "homegrade-theme__texte-backoffice"); default: 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; }