WordPress是否具有检查rest命名空间是否存在的核心功能?
我想在多个插件中使用以下功能(或类似功能),因此如果core中有类似的功能,这将非常有用。
function rest_namespace_exists( string $namespace ) {
// Create a rest request for the current rest url of the site
$request = \\WP_REST_Request::from_url( get_rest_url( null, \'\' ) );
$response = rest_do_request( $request );
$server = rest_get_server();
$data = $server->response_to_data($response, false);
return array_search( $namespace, $data[\'namespaces\'] ) !== false;
}
我挣扎是因为:
如果我复制代码,它就不会干
如果我在一个插件中使用上述功能,那么我会立即将两个插件结合使用,即使我可能只需要一个插件(取决于每个站点的要求),也必须同时使用这两个插件。
如果我构建了一个“助手”插件,那么我必须要求可能使用公共插件的用户下载其他插件。另外,我不知道安装一个XYZ助手会有多舒服,因为它可能有很多不需要的功能/膨胀。
最合适的回答,由SO网友:Timothy Jacobs 整理而成
您可以使用WP_REST_Server::get_namespaces()
方法
例如。
$exists = in_array( \'ns/v1\', rest_get_server()->get_namespaces() );