web-dev-qa-db-fra.com

Problème avec 'post__not_in'

J'exécute une requête personnalisée sous chaque message pour obtenir un autre message de sa catégorie. Maintenant, je veux exclure le post actuel. Ceci est ma requête:

<?php // related_posts();
$exclude_post   = $post->ID;
$cats =  get_the_category();
//$cats[0]->term_id;$cats[1]->term_id; //name
 global $post;
 $newQuery = new WP_Query('posts_per_page=5&orderby=Rand&cat='.$cats[0]->term_id.'&post__not_in='.array($exclude_post).''); 
 if ( $newQuery->have_posts() ):?>
    <ul>
    <?php
    while ( $newQuery->have_posts() ) : $newQuery->the_post(); ?>
        <li>
            <a title="<?php the_title();?>" href="<?php the_permalink();?>"><?php the_title();?></a>

        </li>
    <?php
    endwhile;?>
    </ul>
<?php        
endif;
?>

Maintenant, ma requête montre 0 résultats. Idem, si je règle le poste qui doit être exclu de l’essai à 1 ou plus.

Quelle pourrait être l'erreur dans ma requête personnalisée?

Vive Lars

1
Lars

Vous essayez de fournir un tableau dans le cadre du paramètre de requête de chaîne. Vous pourriez plutôt simplement fournir la liste des arguments sous forme de tableau comme ceci:

$newQuery = new WP_Query( 
    array( 
        'posts_per_page' => 5, 
        'orderby' => 'Rand', 
        'cat' => $cats[0]->term_id, 
        'post__not_in' => array($exclude_post)
    )
); 
6
Joe Hoyle