查询发布多个条件

时间:2017-09-27 作者:Miguel Dey

我有一个使用以下代码的主题

$user_bids = query_posts( array(

        \'post_status\' => array(\'publish\', \'accept\', \'unaccept\'),

        \'post_type\'   => BID,

        \'author\'      => $current_user->ID,

    )
);
我修改了帖子,使其包含等于1或0的帖子元“重复”

所以我想知道如何查询所有帖子,除非:

Post meta“duplicated”等于1。

但我还需要一个附加条件:

如果该帖子的状态为“accept”,则无论如何都要包含该帖子,即使帖子元“duplicated”等于1

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

尝试使用此答案中所述的WP\\U查询When should you use WP_Query vs query_posts() vs get_posts()?.

$user_bids = array(
    \'post_type\' => \'post\',
    \'meta_query\' => array(
        \'relation\' => \'OR\',
           array(
            \'key\' => \'duplicated\',
            \'value\' => \'0\',
            \'type\' => \'numeric\',
            \'compare\' => \'=\'
           ),
           array(
            \'key\' => \'accept\',
            \'value\' => \'1\',
            \'type\' => \'numeric\',
            \'compare\' => \'=\'
           )
         )
      );
$query = new WP_Query( $user_bids );

结束

相关推荐

Ignore latest two posts

我试图从一个页面中排除最近的两篇博客文章。我知道这是可能的offset 然而,这样做会导致一个bug,其中一些博客帖子会在第二页上重复,因此并不理想。目前,我正在使用post id手动执行此操作,如下所示:$paged = ( get_query_var( \'paged\' ) ) ? get_query_var( \'paged\' ) : \'1\'; $args = array( \'posts_per_page\' => 5, \'post__not