如何创建自定义的WordPress REST API端点 - Kinsta
WordPress REST API 是连接 WordPress 与其他外部 Web 应用程序的桥梁。它不仅能促进更高效的通信,还能帮助开发者构建与 CMS 平台无缝集成的沉浸式网络体验。本指南将详细介绍 WordPress REST API 的功能、优势,以及如何创建、注册和访问自定义端点。
了解 WordPress REST API
WordPress REST 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/
最新文章
- 一文讲透MCP的原理及实践
- API安全:基于令牌的验证 vs 基于密钥的验证,哪种更可靠?
- Spring API 接口加解密
- 我们如何构建教育数据门户的API
- 2025年 GitHub 上热门 AI Agents 开源项目:AutoGen、CrewAI、OpenDevin
- api 设计入门:最佳实践与实现
- 什么是 ERT
- Grok 2 和 Grok 3 使用教程:教你如何获得Grok3的访问权限
- 深入掌握Laravel 12中使用Sanctum实现的API认证 – Kritimyantra
- 如何在 Node.js 中构建 gRPC API
- Link支付怎么注册?一站式指南
- 2025年最新图像算法面试题:图像识别、CNN算法与实战项目解析