我有这样一个自定义帖子类型:
register_post_type(\'horario_busao\', [
\'labels\' => [
\'name\' => \'Horário Busões\',
\'singular_name\' => \'Horário Busão\'
],
\'public\' => true,
\'has_archive\' => true,
\'show_in_rest\' => true
]);
它包含一个元数据
city
, 我将其更新为:
return update_post_meta($postId, \'city\', $city);
所以我通过端点获取它
/wp-json/wp/v2/horario_busao
. 正如我在文档中看到的,它只包含查询参数
search
.
如何通过元数据进行搜索?
最合适的回答,由SO网友:Sally CJ 整理而成
如何通过元数据进行搜索?
据我所知,目前还没有标准/内置的方法来做到这一点。但是有custom coding, 您可以做到:
您可以附加city
到查询字符串:
/wp-json/wp/v2/horario_busao?city=London
然后使用
rest_{$this->post_type}_query
过滤器,用于设置要传递给的元键/值对
WP_Query
. 下面是一个示例:
add_filter( \'rest_horario_busao_query\', function( $args, $request ){
if ( $city = $request->get_param( \'city\' ) ) {
$args[\'meta_key\'] = \'city\';
$args[\'meta_value\'] = $city;
}
return $args;
}, 10, 2 );