1

我在 Stylist Post 类型上有一个关系字段“assigned_brands”,它返回关联的 Brands 帖子类型的数组。我想根据 assign_brands 的计数进行查询。例如,我只想获取分配了 1-3 个品牌的造型师,或者获取分配了 10 个或更多品牌的造型师

您知道我必须使用什么过滤器才能使用元查询吗?

提前谢谢大家亲切的问候约翰

4

1 回答 1

0

如果没有更多的自定义字段,您将无法实现您想要的。使用类似下面的函数将关系字段的 count() 存储到不同的字段。

add_action( 'acf/save_post', 'count_fields_values_after_save', 20 );
function count_fields_values_after_save( $post_id ) {
    if ( 'stylist' === get_post_type( $post_id ) ) {
        $num = 0;
        $brands = get_field( 'assigned_brands', $post_id );
        if ( ! empty( $brand ) && is_array( $brands ) ) {
            $num = count( $brands );
        }
        update_post_meta( $post_id, '_count_assigned_brands', $num );
    }
}

然后您可以使用 WP_Query 类来查询这个额外的自定义字段。

'meta_query' => [
    [
         'key' => '_count_assigned_brands',
         'value' => 3,
    ],
],

上面的所有内容都没有经过测试,但对我来说它们似乎没问题,它应该可以工作!

于 2020-12-11T16:54:17.843 回答