Problem with 'post__not_in'

时间:2011-10-16 作者:Lars

我正在每个帖子下面运行一个自定义查询,以从其类别中获取其他帖子。现在我想排除当前帖子。这是我的问题:

<?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;
?>
现在,我的查询显示0个结果。同样,如果我将testwise排除的post设置为1左右。

自定义查询中可能出现什么错误?

啦啦队员

1 个回复
最合适的回答,由SO网友:Joe Hoyle 整理而成

您试图提供一个数组作为字符串查询参数的一部分。相反,您可以将参数列表作为如下数组提供:

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

结束

相关推荐

Query Posts Creates 404 Error

当我在档案页面时,我使用下面的代码来查询帖子。在我的主题选项to\\u count\\u home中调用帖子的数量。WordPress没有根据每页的posts\\u生成正确的页数。相反,它是根据我在默认WordPress设置中选择的每页帖子数生成页面。例如,如果我在设置中每页有10篇文章,那么在代码中将posts\\u per\\u page设置为5,当我转到第二页(应该有5篇文章)时,我会收到404错误。下面是我使用的代码:<?php $per_page = get_option(\'to