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

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.