我试图使用REST过滤器来要求设置某个参数。
使用自定义分类法和自定义帖子,我可以在请求时这样做
/wp-json/wp/v2/car?visible_to=123
那是唯一
Car
返回的是带有
visible_to
123的分类。
然而当有人要求
/wp-json/wp/v2/car
我想抛出一个错误,这么说?需要设置visible\\u to。
我试过勾搭上rest_index
, rest_pre_dispatch
, 还有其他一些。只有当我?visible_to
在URL中设置,如果没有它们,钩子不会启动。
例如,我希望每个REST请求都会触发此命令
add_filter( \'rest_pre_dispatch\',\'to_limit_access\', 1, 3);
function to_limit_access($args, $request, $context) {
return new WP_Error( \'rest_disabled\', __( \'The REST API is disabled on this site.\' ), array( \'status\' => 404 ) );
}
但它只会在上返回WP\\u错误
/wp-json/wp/v2/car?visible_to=123
两者都有
/wp-json/wp/v2/car
以及
/wp-json/wp/v2/car/6
运行时不要碰到过滤器。
有人能解释一下为什么会这样,我能做些什么来避免这种情况吗?
我也尝试过特定的过滤器,如rest_prepare_car
但我根本无法让它开火。