我试图构建一个返回所有帖子的查询,其中包含一个存在于一组值中的元值。
我的帖子有一个名为Asin_unique
我想找到所有有价值的帖子B006MWDNVI
,B00BCMCIS2
, 或B01ARRJFGA
在这个领域。
这是我迄今为止构建的内容,但它只会返回我的帖子B00BCMCIS2
, 不是其他的。我需要做什么改变才能让它工作?
$args = array(
\'post_status\' => \'any\',
\'post_type\' => \'any\',
\'numberposts\' => -1,
\'meta_query\' => array(
array(
\'key\' => \'Asin_unique\',
\'value\' => \'(B006MWDNVI,B00BCMCIS2,B01ARRJFGA)\',
\'compare\' => \'IN\',
)
)
);
$posts = get_posts( $args );
SO网友:TheKidsWantDjent
在值中省略括号似乎可以做到这一点。我被通常在SQL中格式化IN的方式所误导,并认为这与WP查询是一样的,但您必须忽略它们:
$args = array(
\'post_status\' => \'any\',
\'post_type\' => \'any\',
\'numberposts\' => -1,
\'meta_query\' => array(
array(
\'key\' => \'Asin_unique\',
\'value\' => \'B006MWDNVI,B00BCMCIS2,B01ARRJFGA\',
\'compare\' => \'IN\',
)
)
);
$posts = get_posts( $args );