wordpress的restfull API使用教程,之如何用postman调试API,以便能使用vue等前端框架开发主题

API开发手册

官方API手册:https://developer.wordpress.org/rest-api/reference/

在这里例举了所有可用的API接口,不过官方并不建议你用API开发,因为:

  1. wordpress已经提供了主题,并非headless CMS,也不是后端API工具
  2. 安全原因,和开发上手难度

在postman中调试

postmanpublic API中有很多全套集成,这其中就包括wordpress API v2: https://www.postman.com/shivapoudel/workspace/api-collections/collection/15735736-0714ad52-4119-4cea-a479-e09838fc27a7?action=share&source=copy-link&creator=18736694

好处就在于可将其fork到自己的workspace下,就不用一个个输入endpoint,即API端口地址了。

所以接下来需要做的就是将一些变量换成自己的,比如{{site}}改为自己的网站url。

get请求基本都不需要权限,postupdatedelete、用户角色等请求需要basic auth权限。

这里以 post 一篇文章为例,讲解如何调试:

为了能够成功通过WordPress REST API创建文章,大部分接口需要确保满足以下条件:

  1. 认证:使用正确的认证方式进行API请求,通常使用OAuthApplication Passwords(应用密码)。

  2. 用户角色:确保使用的用户角色有权限创建文章。通常需要编辑或更高级别的角色。

以下是通过Postman进行身份验证并创建文章的步骤:

步骤 1:生成应用密码

  1. 登录到WordPress后台。
  2. 导航到“用户” -> “个人资料”。
  3. 向下滚动到“应用密码”部分,并生成一个新的应用密码。

image-20240707214020670

做这一个操作时,建议在wordpress新增一个user,角色至少是author及以上。

步骤 2:配置Postman

  1. 打开Postman
  2. 创建一个新的POST请求,URL为{{site}}/wp-json/wp/v2/posts
  3. 在“Authorization”标签下,选择“Basic Auth”。
    • 在“Username”字段中输入您的WordPress用户名。
    • 在“Password”字段中输入刚刚生成的应用密码。

image-20240707214227890

步骤 3:创建文章

  1. 在“Body”标签下,选择raw并输入如下的JSON数据:

    {
        "title": "您的文章标题",
        "content": "您的文章内容",
        "status": "publish"
    }
    

    status如果不填,默认是draft,即草稿状态

  2. 发送请求。

image-20240707214724787

如果上述步骤正确执行,您应该能够成功创建一篇文章。如果仍有问题,请确保以下几点:

  • 用户名和应用密码正确无误。
  • 用户角色具有创建文章的权限。
  • 确认REST API已启用,并且没有被任何安全插件或自定义代码阻止。

参考链接

1、https://developer.wordpress.org/rest-api/using-the-rest-api/authentication/

上文展示的basic auth仅适用于开发环境,生产环境,如果要在任意地方使用,比如新建了vue前端来构建wp主题,可以用OAuth 1.0a 服务器JSON Web Tokens

2、官方API手册:https://developer.wordpress.org/rest-api/reference/


如果你在web前端开发、面试、前端学习路线有困难可以在下方加我名片。免费答疑,行业深潜多年的技术牛人帮你解决bug。

我可提供web前端开发,网站开发、技术咨询、答疑、直播讲座等服务

祝你能成为一名优秀的WEB前端开发工程师!

相关推荐

  1. Vue前端Broadcast Channel API简单使用

    2024-07-14 08:32:05       62 阅读
  2. 如何使用postman进行接口调试

    2024-07-14 08:32:05       51 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-14 08:32:05       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-14 08:32:05       71 阅读
  3. 在Django里面运行非项目文件

    2024-07-14 08:32:05       58 阅读
  4. Python语言-面向对象

    2024-07-14 08:32:05       69 阅读

热门阅读

  1. c++【入门】求平均分

    2024-07-14 08:32:05       22 阅读
  2. 12. DDL-数据库的管理

    2024-07-14 08:32:05       23 阅读
  3. 菜鸡的原地踏步史08(◐‿◑)

    2024-07-14 08:32:05       27 阅读
  4. Elasticsearch 角色和权限管理

    2024-07-14 08:32:05       24 阅读
  5. Git配置笔记

    2024-07-14 08:32:05       30 阅读
  6. Docker安装Zookeeper、RocketMQ

    2024-07-14 08:32:05       27 阅读
  7. 计算1的数量

    2024-07-14 08:32:05       28 阅读
  8. 特斯拉的选择:.NET技术栈的工业级魅力

    2024-07-14 08:32:05       20 阅读
  9. 1、ASP安全

    2024-07-14 08:32:05       22 阅读
  10. 数据结构第24节 二分查找

    2024-07-14 08:32:05       20 阅读
  11. QComboBox

    2024-07-14 08:32:05       21 阅读
  12. 【PHP】Symfony框架

    2024-07-14 08:32:05       31 阅读