ACF 复选框元查询



下面的不起作用,看不出原因。is_focus_product是真/假 ACF 字段

$ls = get_posts([
'meta_query' => [
[
'key' => 'is_focus_product', 'value' => 1, 'compare' => '='
]
]
]);
// array(0){}

但是,这按预期返回...

var_dump(get_field('is_focus_product', 36));
// bool(true)

我找到了一个解决方案,但 IMO 这是一个胡说八道的 WordPress 缺陷,它不应该局限于某种帖子类型,因为您应该有自由(在这种情况下,无论如何,我认为有数十亿个类似的用例(根据需要进行过滤(毕竟它们都是帖子......

您需要帖子类型,因此...

$ls = get_posts([
'post_type' => 'products',
'meta_query' => [
[
'key' => 'focus_product', 'value' => '1', 'compare' => '='
]
]
]);

这就是我使用查询获取帖子的方式:

$args = array(
'post_type'=> 'products',
'posts_per_page'  => 4,
'meta_key'      => 'focus_product',
'meta_value'    => 1
);

最新更新