我想写一个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 );
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);