当前位置:首页>WordPress资讯>WordPress 5.4 对REST API 的更改

WordPress 5.4 对REST API 的更改

Posts Controller现在支持分类法“OR”关系

查询/wp/v2/posts?tags=1&categories=2返回了分配了ID为1的标签,并且分配了ID为2的分类下的所有文章。自WordPress 4.7以来,Posts Controller一直只支持这种AND关系(必须同时满足多个分类法的分类关系。

REST API /wp/v2/posts端点以及从扩展过来的自定义文章类型端点WP_REST_Posts_Controller(包括指定的自定义文章类型"show_in_rest" => true)现在支持一个新参数tax_relation,该参数可用于返回与任一分类过滤器(而不是两者)匹配的文章,也就是“或者( OR )” 关系。

例如,在WordPress 5.4中,posts端点查询

/wp/v2/posts?tags=1&categories=2&tax_relation=OR

现在将返回标签ID为 1 与分类ID为 2的所有文章。

选择性链接嵌入

REST API现在支持使用_embed参数返回有限的一组嵌入式对象。例如,在WordPress 5.4中,以下查询仅嵌入作者信息,而不包括所有评论,媒体等。

/wp/v2/posts/?_embed=author

如果_embed省略参数值或将其设置为true1 ,则将返回所有嵌入。

WP_REST_Server方法更改

WordPress 5.4更改了WP_REST_Server类中两个方法的签名。扩展WP_REST_Server和覆盖这些方法的开发人员应更新其代码以匹配新的签名,以避免出现PHP警告。

  1. WP_REST_Server::embed_links()的签名现在为embed_links( $data, $embed = true )。新参数$embed接受链接关系(例如array( 'author', 'wp:term' ))的数组,并在响应这些关系时限制嵌入的链接。默认设置为true将保留以前在响应中嵌入所有链接的行为。有关更多详细信息,请参见#39696
  2. WP_REST_Server::get_routes()的签名现在为get_routes( $namespace = '' )。新参数$namespace接受一个字符串,并将返回的路由限制为名称空间与该字符串匹配的路由。在内部,WP_REST_Server使用此新参数来提高性能,WP_REST_Server::dispatch()方法是减少将请求与注册路由相匹配所需的正则表达式检查次数。有关更多详细信息,请参见#48530

出于性能原因,WP_REST_Server::embed_links()现在还将响应数据缓存在内存中。此缓存由WP_REST_Server::response_to_data()管理。直接调用被保护embed_links方法的代码可能需要更新,以确保不返回旧的数据。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

给TA打赏
共{{data.count}}人
人已打赏
欢迎关注WordPress大学公众号 WPDAXUE
WordPress资讯

Elementor获得首轮1500万美元融资,计划投资于团队、产品和社区

2020-2-29 8:17:19

WordPress资讯

Apache Tomcat 存在Ajp协议文件读取/包含漏洞(称为Ghostcat),请及时修复

2020-3-3 7:31:28

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索