web-dev-qa-db-fra.com

Boucles multiples sans répéter le contenu

J'ai une deuxième boucle sur une page où je veux afficher les messages de la même catégorie que le message actuel, mais en excluant le message actuel.

J'ai une boucle qui affiche toutes les publications de la même catégorie que la publication actuelle, mais n'exclut pas la publication actuelle.

  <?php
  $project_category = wp_get_post_categories($post->ID); 
  $postid = $post->ID;
  ?>

  <?php
  $the_query = new WP_Query( array(
      'category__in' => $project_category,
      'posts_per_page' => -1,
      'post__not_in' => $postid,
  ) );
  ?>

  <?php                                                      
  $loop = new WP_Query( $the_query );
  while ( $loop->have_posts() ) : $loop->the_post();  
  ?>
1
scottay

Comme expliqué dans Codex

post__not_in (array) - utilise les identifiants postaux. Spécifiez la poste à ne pas récupérer.

L'argument post__not_in doit être passé en tant que tableau.

Modifiez votre requête en:

$the_query = new WP_Query( array(
    'category__in'   => $project_category,
    'posts_per_page' => -1,
    'post__not_in'   => array( $postid ),
) );

Et ça devrait marcher.

1
gmazzap