您如何通过其他 API V2 获得多个 meta_keys 和 meta_values 的帖子?
How do you get Posts by multiple meta_keys and meta_values with the Rest API V2?
我正在尝试通过多个 meta_key
和 meta_value
获取我的帖子。我该如何做到这一点? URL 应该是这样的:
"/posts?meta_key=Example&meta_value=Example2&meta_key=Example3&meta_value=Example4"
我试图为此找到解决方案已经有一段时间了,但找不到任何东西,因为大多数东西都已经过时了。
我找到了解决问题的方法。我做的很简单。我刚刚设置了一个新的查询参数。
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 请求将接受您的自定义查询参数。否则它只会接收普通的元查询请求。
参考资料请看这里:WordPress Rest-API Requests
我正在尝试通过多个 meta_key
和 meta_value
获取我的帖子。我该如何做到这一点? URL 应该是这样的:
"/posts?meta_key=Example&meta_value=Example2&meta_key=Example3&meta_value=Example4"
我试图为此找到解决方案已经有一段时间了,但找不到任何东西,因为大多数东西都已经过时了。
我找到了解决问题的方法。我做的很简单。我刚刚设置了一个新的查询参数。
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 请求将接受您的自定义查询参数。否则它只会接收普通的元查询请求。
参考资料请看这里:WordPress Rest-API Requests