Wordpress禁用开箱即用的rest-api,而是使用库

时间:2017-09-29 12:33:22

标签: json wordpress rest api

在较新的Wordpress中,有REST-API in the core

以前使用的插件(具体为WP-API-1.2.3)具有不同的API基本网址(例如/wp-json/posts),但较新的插件使用不同的结构(例如/wp-json/wp/v2/posts)。

为了向后兼容,我想支持旧版本,而不是更改API的基础 - 否则,使用此服务的所有其他页面将不再有效。

我找到了如何更改"wp-json" part,但没有更改名称空间" / wp / v2 /"。

有没有办法解决如何使用原始基本路径的问题,在最好的情况下,确保使用旧库而不是更新的核心功能不会出错?

functions.php中禁用它无法解决此问题 - 它正在关闭lib。

add_filter('json_enabled', '__return_false');
add_filter('json_jsonp_enabled', '__return_false');

由于

1 个答案:

答案 0 :(得分:0)

基本上,我做了两件事,而且它正在发挥作用:

  1. rest_url_prefix与以前的版本(wp-json)相同,路径互相写(在请求类似wp-json / posts的内容之后,通过了WP的新核心部分,而不是lib)。

    function rest_get_url_prefix(){     return apply_filters(' rest_url_prefix',' newPrefix'); }

  2. 我没有点击设置 - >永久链接 - >保存更改

  3. 通过这样做,我现在能够使用原始端点