Prioriser un article dans la page d’archive

Comment placer un article à l ‘endroit souhaité dans la boucle

Pour une raison ou pour une autre, on peut avoir besoin d’insérer un post à un endroit précis dans l’index, la home ou la page d’archive de notre site wordpress

Voici une fonction, récupérée sur stackoverflow puis modifiée, dans laquelle je cible un post par son ID, et le forçe a rester en troisième position, dans ma liste d’article

function insert_post_essai_gratuit($posts) {
global $wp_query;
$desired_post = 1870;
if (is_main_query() && is_home() ) {

$p2insert = new WP_Query(array('p'=>$desired_post,'suppress_filters'=>true));

$insert_at = 3;
if (!empty($p2insert->posts)) {

array_splice($posts,$insert_at,0,$p2insert->posts);
}
}
return $posts;
}
add_filter('posts_results','insert_post_essai_gratuit');

Grâce à cette fonction, l’article dont l’ID est 1870 sera toujours placé en troisième position de toutes mes pages d’archives.Cela peut être utile pour placer une pub ou un article important par exemple