All posts

WordPress REST API

WordPress 提供了强大的 REST API,用于在应用程序之间进行通信。它允许开发者通过标准的 HTTP 请求(如 GET、POST、PUT、DELETE 等)与 WordPress 网站进行交互,获取数据、创建内容或更新数据。以下是 WordPress REST API 的主要端点(Endpoints)和它们

WordPress 提供了强大的 REST API,用于在应用程序之间进行通信。它允许开发者通过标准的 HTTP 请求(如 GET、POST、PUT、DELETE 等)与 WordPress 网站进行交互,获取数据、创建内容或更新数据。以下是 WordPress REST API 的主要端点(Endpoints)和它们的使用方法。 1\. 基础信息 API 基础 URL:https://example.com/wp-json/wp/v2/ 将 example.com 替换为你自己 WordPress 站点的域名。 2\. 通用 REST API 端点格式 GET 请求:从服务器获取数据(如文章、用户、分类等)。 POST 请求:向服务器提交数据,通常用于创建新资源(如创建新文章或用户)。 PUT 请求:更新现有资源。 DELETE 请求:删除资源。 3\. 主要 API 端点 1\. Posts(文章) 获取所有文章: GET /wp-json/wp/v2/posts 获取特定文章: GET /wp-json/wp/v2/posts/{id} 创建文章(需要身份验证): POST /wp-json/wp/v2/posts 参数:title(标题)、content(内容)、status(状态:publish、draft 等) 更新文章: PUT /wp-json/wp/v2/posts/{id} 删除文章: DELETE /wp-json/wp/v2/posts/{id} 2\. Pages(页面) 获取所有页面: GET /wp-json/wp/v2/pages 获取特定页面: GET /wp-json/wp/v2/pages/{id} 创建页面: POST /wp-json/wp/v2/pages 更新页面: PUT /wp-json/wp/v2/pages/{id} 删除页面: DELETE /wp-json/wp/v2/pages/{id} 3\. Categories(分类) 获取所有分类: GET /wp-json/wp/v2/categories 获取特定分类: GET /wp-json/wp/v2/categories/{id} 创建分类: POST /wp-json/wp/v2/categories 更新分类: PUT /wp-json/wp/v2/categories/{id} 删除分类: DELETE /wp-json/wp/v2/categories/{id} 4\. Tags(标签) 获取所有标签: GET /wp-json/wp/v2/tags 获取特定标签: GET /wp-json/wp/v2/tags/{id} 创建标签: POST /wp-json/wp/v2/tags 更新标签: PUT /wp-json/wp/v2/tags/{id} 删除标签: DELETE /wp-json/wp/v2/tags/{id} 5\. Comments(评论) 获取所有评论: GET /wp-json/wp/v2/comments 获取特定评论: GET /wp-json/wp/v2/comments/{id} 创建评论: POST /wp-json/wp/v2/comments 更新评论: PUT /wp-json/wp/v2/comments/{id} 删除评论: DELETE /wp-json/wp/v2/comments/{id} 6\. Users(用户) 获取所有用户: GET /wp-json/wp/v2/users 获取特定用户: GET /wp-json/wp/v2/users/{id} 创建用户: POST /wp-json/wp/v2/users 更新用户: PUT /wp-json/wp/v2/users/{id} 删除用户: DELETE /wp-json/wp/v2/users/{id} 7\. Media(媒体文件) 获取所有媒体文件: GET /wp-json/wp/v2/media 获取特定媒体文件: GET /wp-json/wp/v2/media/{id} 上传媒体文件: POST /wp-json/wp/v2/media 注意:使用 multipart/form-data 格式上传文件。 更新媒体文件: PUT /wp-json/wp/v2/media/{id} 删除媒体文件: DELETE /wp-json/wp/v2/media/{id} 8\. Menus(菜单) WordPress REST API 默认不支持菜单的操作,但可以通过自定义端点或安装插件来支持。 获取菜单(需要插件): GET /wp-json/wp/v2/menus/{id} 4\. 身份验证 REST API 的一些操作(如创建、更新、删除资源)需要进行用户身份验证。常用的验证方式有: Cookie 验证:适用于 WordPress 登录用户。 应用密码:用户创建应用密码后,应用可以使用用户名和应用密码进行验证。 JWT(JSON Web Token)验证:通过插件(如 JWT Authentication for WP REST API)可以启用基于 JWT 的身份验证。 5\. API 查询参数 WordPress REST API 提供了许多可选的查询参数,帮助开发者过滤和排序请求的数据。 常用参数: ?perpage={number}:每页返回的项目数(默认 10,最大 100)。 ?page={number}:分页。 ?search={string}:按关键词搜索内容。 ?orderby={field}:排序字段,如 date、title。 ?order={asc|desc}:排序顺序(升序或降序)。 ?status={status}:筛选特定状态(如 publish、draft)。 6\. 自定义端点 开发者可以创建自定义的 REST API 端点来满足特定需求。使用 WordPress 提供的 registerrestroute() 函数可以注册新的 API 端点: addaction('restapiinit', function () { registerrestroute('myplugin/v1', '/custom-route/', array( 'methods' => 'GET', 'callback' => 'mycustomfunction', )); }); function mycustomfunction() { return new WPRESTResponse('Hello, this is a custom API response.', 200); } 7\. API 文档与开发工具 官方文档:WordPress REST API 的官方文档提供了全面的使用指南:WordPress REST API 文档 Postman:使用 Postman 等工具可以方便地调试 REST API 请求,测试参数、头部和响应。 通过 WordPress REST API,开发者可以非常灵活地操作 WordPress 网站的数据,构建前后端分离的应用或与其他系统进行集成。

Discussion

No comments yet