Я нашел решение для моей проблемы. То, что я сделал, довольно просто. Я только что установил новый параметр запроса.
if (!function_exists('post_meta_rest_api_request')) :
function post_meta_rest_api_request($argu, $request)
{
$argu += array(
'meta_key' => $request['meta_key'],
'meta_value' => $request['meta_value'],
'meta_query' => $request['meta_query'] == 1 ? array(
array(
"key" => "key1",
"value" => "value1"
),
array(
"key" => "key2",
"value" => "value2"
)
) : $request['meta_query']
);
return $argu;
}
add_filter('rest_custom_query', 'post_meta_rest_api_request', 99, 2);
endif;
Так что, если вы сейчас сделаете вызов API, например: wordpress/wp-json/wp/v2/customType?meta_query=1
, запрос API примет ваши пользовательские параметры запроса. В противном случае он просто примет обычный запрос Meta Query. Для ссылок смотрите здесь: Запросы WordPress Rest-API