Hiding API routes list

时间:2019-12-20 作者:Keith Qu

当您转到/wp-json/wp-json/[namespace] 在启用API的WordPress站点上,它显示所有API路由和端点。

如何在不禁用REST API的情况下禁用此行为?

2 个回复
SO网友:mirado

您可以使用过滤器挂钩“rest\\u index”:

add_filter(\'rest_index\', function ($response) {
  $data = $response->get_data();

  $data[\'namespaces\'] = [];
  $data[\'routes\'] = [];

  return $data;
}, 9999, 1);
可以从$data[\'namespaces\']和$data[\'routes\']中删除路由

SO网友:indigit

从@mirado(thefilter 必须返回WP\\u REST\\u响应实例(不是数组)

    function hide_ns_and_routes( $response ) {
      $data = $response->get_data();
      $data[\'namespaces\'] = [];
      $data[\'routes\'] = [];
      $response->set_data( $data );

      return $response;
     }
     add_filter( \'rest_index\', \'hide_ns_and_routes\' );

相关推荐

安装和卸载WP-REST-API插件后API返回空白响应

WordPress/WooCommerce API在我的网站上被破坏:http://example.com/wp-json/wp/v2/posts 和http://example.com/wp-json/wc/v2/products 两者都返回空白响应。运行Python请求response = requests.get(\'http://<mysite>.com/wp-json/wp/v2/posts\', auth=HTTPBasicAuth(*auth)) 给出的响应(在调试器中