提问者:小点点

如何按相关帖子的自定义字段过滤WP_查询结果?


我有两种帖子类型:

  1. 场馆
  2. 评论

场馆Post类型包含以下ACF自定义字段:

  • 地区
  • 次区域

Reviews Post类型包含一个ACF自定义字段:

  • 地点(即发布对象-选择字段)

我需要显示所有的评论谁的地点是在一个特定的区域和/或子区域。

这是可以用WP_Query完成的事情吗?或者我需要做一个花哨的数据库调用?

这是我最初认为有效的方法,但似乎无法将post对象的自定义字段作为元查询。。

$args = array(
  'post_type' => 'review',
  'posts_per_page' => 18,
  'paged' => $paged,
  'meta_key' => 'venue',
  'meta_query' => array(
     array(
       'key' => 'region',
       'value' => 'napa-valley'
     )
   )
);



共1个答案

匿名用户

我认为你需要2个循环在这里,第一个循环通过使用区域元查询的场馆(你可以只使用get_posts()或get_pages()而不是WP_Query)例如:

'meta_query' => array(
    array(
        'key' => 'region',
        'value' => 'napa-valley'
        )
)

然后就可以把特定区域的场馆ID推成数组

array_push($venue_ids, $post->ID);

然后,您可以在第二个循环中使用$venue_ids数组,该数组将使用元查询循环审查,以匹配从第一个循环标识到审查页面中选择的发布对象标识的地点。

'meta_query' => array(
    array(
        'key' => 'venue',
        'value' => $venue_ids
        )
)

让我知道这是否有帮助,如果你认为这将为你工作,我可以提供进一步的帮助,如果我没有正确解释或你需要帮助。