wp_query args with relation

时间:2017-10-10 作者:benikens

我想写一个wp_query 这将过滤掉带有特定标签的帖子,前提是这些帖子也只有1个月大。将显示所有超过一个月且没有标记的帖子,并显示任何少于一个月的帖子。

在之前的一篇文章中了解了date\\u查询之后,这是我的尝试。但是我发现post__not_in 需要ID, and或关系用于meta_queries 但我只想要一个包含两组可能解决方案的常规查询。要么A没有标签,时间无关紧要,要么b有标签,一个月后不再显示。或者,有没有一种方法可以编写SQL来实现这一点?

$onemonth_before = date( \'Y-m-d\', strtotime(\'-1 month\'));
$args = array(
  \'post__not_in\' => array(
    \'tag\' => \'x-post\',
    \'date_query\' => array(
      \'before\' = $onemonth_before,
      \'inclusive\' = true,
    ),
  ),
);
$query = new WP_Query( $args );

1 个回复
SO网友:BlueSuiter

我认为你的问题是错的post__not_in 仅接受post\\u id的数组。

我想应该是这样的。

$onemonth_before = date(\'Y-m-d\', strtotime(\'-1 month\'));
$args = array(
  \'tag__not_in\' => array(<pass tag_id here>),
  \'date_query\' => array(
      \'before\' = $onemonth_before,
      \'inclusive\' = true,
   ),
);
$query = new WP_Query($args);

结束

相关推荐

自定义搜索表单,POSTS_PER_PAGE值被忽略

我正在尝试构建自定义搜索表单,我希望覆盖网站的默认每页帖子数限制,但我使用的隐藏字段似乎根本不起作用:我有:<input type=\"hidden\" value=\"-1\" name=\"posts_per_page\" /> 。。但当我在搜索结果页面上检查$wp\\u查询时,这似乎被忽略了(我正在进行的搜索匹配29篇帖子,但$wp\\u查询->帖子的计数为10。我使用不同的值进行了多次测试,但都没有用。完整自定义搜索表单如下所示:<form role=\"sear