如何创建自定义的WordPress REST API端点 - Kinsta
WordPress REST API 是连接 WordPress 与其他外部 Web 应用程序的桥梁。它不仅能促进更高效的通信,还能帮助开发者构建与 CMS 平台无缝集成的沉浸式网络体验。本指南将详细介绍 WordPress REST API 的功能、优势,以及如何创建、注册和访问自定义端点。
了解 WordPress REST API
WordPress REST API 是一个强大的接口,允许开发者通过标准 HTTP 方法以编程方式与 WordPress 网站交互。默认情况下,它支持以结构化 JSON 格式访问和操作多种 WordPress 数据类型,包括文章、页面、评论、用户和分类等。此外,开发者还可以远程执行 CRUD 操作。
WordPress REST API 的真正价值在于其可扩展性。通过创建自定义端点,开发者可以根据特定需求定制 API,例如集成第三方服务或实现独特的数据结构。这种灵活性使得开发者能够在 WordPress 平台上构建高度定制化和功能丰富的应用程序。
如何规划自定义 API 端点
在开发自定义 API 端点之前,合理的规划是确保高效开发的关键。以下是规划自定义端点时需要考虑的几个方面:
- 端点功能的清晰度:明确端点的具体功能、预期的数据类型和使用场景。
- 一致性和开发效率:确保端点的响应类型和格式一致性,从而提升开发效率并减少错误风险。
- 可扩展性和适应性:设计端点时需考虑未来的业务需求,避免频繁的重新设计。
- 安全性:确保敏感数据的访问受到身份验证和授权控制的保护。
通过合理规划,您可以创建一个既满足当前需求又具备未来适应性的 API 端点。
为端点创建自定义文章类型
在 WordPress 中创建自定义端点的第一步是定义一个自定义文章类型。以下是具体步骤:
-
导航到主题文件编辑器:
在 WordPress 管理后台,进入 外观 > 主题文件编辑器。 -
添加自定义文章类型代码:
打开主题的functions.php文件,添加以下代码:function create_custom_testimonial_type() { register_post_type('testimonials', array( 'labels' => array( 'name' => 'Testimonials', 'singular_name' => 'Testimonial', ), 'public' => true, 'has_archive' => true, 'show_in_rest' => true, // 启用 REST API 支持 )); } add_action('init', 'create_custom_testimonial_type');这段代码定义了一个名为
testimonials的自定义文章类型,并启用了 REST API 支持。 -
保存更改并刷新后台:
保存文件后,刷新 WordPress 后台,您将看到新增的 推荐 选项。 -
添加新文章:
在 推荐 > 添加新文章 中,创建一些测试数据。
在 WordPress 中注册自定义端点
注册自定义端点需要使用 register_rest_route 函数。以下是具体步骤:
-
添加注册代码:
在functions.php文件中添加以下代码:add_action('rest_api_init', function() { register_rest_route('custom/v2', '/testimonials', array( 'methods' => 'GET', 'callback' => 'get_testimonials', )); });该函数的参数包括:
- 命名空间:如
custom/v2,用于区分不同的端点。 - 路由:如
/testimonials,指定端点的路径。 - 选项:包括 HTTP 方法和回调函数。
- 命名空间:如
-
记录端点地址:
端点的完整地址格式为:站点域名/wp-json/命名空间/路由。例如:https://example.com/wp-json/custom/v2/testimonials。
实现端点的回调函数
完成端点注册后,需要实现回调函数以处理请求并返回数据。
-
声明回调函数:
function get_testimonials() { $testimonials = array(); $args = array( 'post_type' => 'testimonials', 'nopaging' => true, ); $query = new WP_Query($args); if ($query->have_posts()) { while ($query->have_posts()) { $query->the_post(); $testimonials[] = array( 'title' => get_the_title(), 'content' => get_the_content(), ); } wp_reset_postdata(); } return rest_ensure_response($testimonials); } -
测试端点:
使用 Postman 或浏览器访问端点地址,例如:https://example.com/wp-json/custom/v2/testimonials,验证返回的数据是否正确。
总结
通过本教程,您已经了解了如何在 WordPress 中创建自定义 REST API 端点。通过定义自定义文章类型、注册端点和实现回调函数,您可以轻松扩展 WordPress 的功能,为用户提供更丰富的交互体验。
原文链接: https://kinsta.com/blog/wp-rest-api-custom-endpoint/
最新文章
- 最佳API测试工具:REST和SOAP自动化 – Parasoft
- 如何使用Ollama(完整Ollama速查表)- Apidog
- 如何用Next.js构建API
- 网易云音乐 API开放平台访问token分步指南
- 什么是TransformerDecoderLayer
- 保险业中的API集成应用场景
- 通过API监控提高API稳定性
- 2025年10款最佳 AI 编码助手工具:Qodo、Copilot、Tabnine、Windsurf
- 快速接入腾讯地图MCP Server
- 人脸识别权威评测:技术进展与应用现状
- 深入解析Electron Web API权限 – Doyensec博客
- API安全风险及其缓解方法 | Kong公司