如何组合两个或多个WP_QUERY?

时间:2019-03-04 作者:Lai32290

我有两个类似以下的WP\\U查询:

搜索依据s:

$query1 = new WP_Query([
  \'post_type\' => \'product\',
  \'s\' => $searchStr
]);
并通过metabox进行搜索:

$query2 = new WP_Query([
  \'post_type\' => \'product\',
  \'meta_query\' => [
    [
      \'key\' => \'my_meta_key\',
      \'value\' => $searchStr,
      \'compare\' => \'LIKE\'
    ]
  ]
]);
如何创建一个查询,通过“或”将这两个查询关联起来,例如:

`$查询1或$查询2“?

1 个回复
SO网友:Tanmay Patel

希望此代码可以为您工作。

$query1 = new WP_Query( array(
        \'post_type\' => \'product\',
        \'s\' => $searchStr
    ));

    $query2 = new WP_Query( array(
        \'post_type\' => \'product\',
        \'meta_query\' => array(
            array(
               \'key\' => \'my_meta_key\',
               \'value\' => $searchStr,
               \'compare\' => \'LIKE\'
            )
         )
    ));

    $result = new WP_Query();
    $result->posts = array_unique( array_merge( $query1->posts, $query2->posts ), SORT_REGULAR );
    $result->post_count = count( $result->posts );

相关推荐

使用新的WP-Query()从循环中过滤后期格式;

嗨,我目前正在为我的博客构建一个主题。下面的代码指向最新的帖子(特色帖子)。因为这将有一个不同的风格比所有其他职位。然而我想过滤掉帖子格式:链接使用我在循环中定义的WP查询,因为它给我带来了更多的灵活性。我该怎么做呢? <?php $featured = new WP_Query(); $featured->query(\'showposts=1\'); ?> <?php while ($featured->have_post