Discuz! Board

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 48|回复: 0

将自定义路由添加到 WordPress REST API

[复制链接]

1

主题

1

帖子

5

积分

新手上路

Rank: 1

积分
5
发表于 2024-1-22 14:48:54 | 显示全部楼层 |阅读模式
这篇关于定制路线的文章最初由 Torque Magazine 发表,经许可转载于此。大多数关于 WordPress REST API 的讨论都是关于查询默认路由。从这个意义上说,我们将其视为一个整体 API,例如 Twitter API。 然而事实是,WordPress REST API 并不是一个 API,而是数以百万计的高度可定制的 API,它们也可以用作制作 API 的工具。是的,它带有默认路由,但是,这些路由必然是数千万个站点(包括许多尚未完成的站点)之间的折衷方案。 就像 WordPress 不仅仅是全局WP_Query对象一样,REST API 不仅仅是默认 API。坚持默认值就像拥有一个传统的 WordPress 项目,而无需创建自己的WP_Query对象,或者覆盖pre_get_posts. 这是可能的,但并不是每项工作都可以单独使用默认的 WordPress URL 路由来完成。


也是如此。 在最近接受 REST API 联合首席开发人员Ryan McCue采访时,他谈到了该项目的第二版如何分为两部分——默认路由和用于创建 RESTful API 的基础设施。默认路由提供了如何创建自己的路由的很好示例。 Build Your Own Developer Portfolio 用于添加这些路由和端点的系统做得 WhatsApp 号码数据 非常好。我将在本文中向您展示如何使用它的基础知识;作为示例,我将演示如何使用两个端点创建自定义路由,这两个端点显示有关由 Easy Digital Downloads (EDD) 提供支持的电子商务网站中的产品信息。此示例基于我为自己的网站构建的 API 插件。如果您想查看GitHub 上的完整源代码或正在运行的 API,您可以。 尽管 EDD 确实提供了自己的 RESTful API,但我想公开我在自己的网站上使用的特定自定义字段。



在我自己的实现中,我还合并了第二条名为“docs”的路线,它包含在我用于文档的自定义帖子类型中。 我可能能够通过EDD API或核心 API 的自定义帖子类型和元路由来完成我想要的操作,但为了简单起见(并拥有完全符合我需要的东西),我创建了自己的路由和端点。它快速、有趣,并且对于我迄今为止实施的两个地方来说效果都很好。 添加路线 认识我最喜欢的新功能 REST API 的第二版引入了一个名为 的新函数register_rest_route()。这使您可以将路由添加到 REST API 并传入端点数组。对于每个端点,您不仅提供用于响应请求的回调函数,还可以定义查询中所需的字段,其中包括默认值、卫生和验证回调,以及单独的权限回调。 这里还有一些仍在发展中的附加功能,我建议阅读默认帖子路由的类。这是关于如何使用 REST API 查询帖子的重要资源。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|DiscuzX

GMT+8, 2025-6-2 02:56 , Processed in 0.086471 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表