You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过WP REST API按ACF地点字段过滤Properties自定义文章类型?

解决WP REST API按ACF地点字段过滤自定义文章类型的问题

默认WP REST API不支持直接通过acf.xxx格式的参数过滤自定义字段,需要通过代码扩展API的查询能力,具体步骤如下:

1. 在WordPress主题的functions.php中添加过滤逻辑

添加以下代码,注册自定义的location查询参数,并修改文章查询规则来匹配ACF字段:

// 为Properties自定义文章类型扩展REST API过滤参数
add_filter('rest_properties_query', 'filter_properties_by_acf_location', 10, 2);
function filter_properties_by_acf_location($args, $request) {
    // 检测请求中是否携带location参数
    if (!empty($request['location'])) {
        $target_location = sanitize_text_field($request['location']);
        // 添加meta查询,匹配ACF组字段address_map下的location子字段
        $args['meta_query'][] = [
            'key'     => 'address_map_location', // ACF组字段+子字段的存储键格式,规则为{组字段名}_{子字段名}
            'value'   => $target_location,
            'compare' => '=' // 精准匹配,如需模糊匹配可改为'LIKE'
        ];
    }
    return $args;
}

2. 前端修改请求URL

将原来的请求URL替换为:

domain/wp-json/wp/v2/properties?location=new-jersey

关键说明

  • ACF组字段的子字段在数据库中以{组字段名}_{子字段名}作为meta_key存储,比如address_map组下的location子字段对应address_map_location
  • 如果需要模糊匹配(比如匹配包含"new-jersey"的地点),只需将compare的值改为LIKE
  • 确保你的Properties自定义文章类型已经开启了REST API支持(注册时设置show_in_rest => true)

内容的提问来源于stack exchange,提问作者nitin sharma

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 14:36:04