作品简介:
随着最新版本的WordPress支持REST API, web开发人员领域已经爆发了关于可能性的讨论,以及它将如何增强WordPressAPI开发体验。
在了解REST API如何潜在地改变方式之前WordPress的开发者设计,我们来看看一些基础知识。
我们还将看到一个简单的实现,它将进一步说明REST API在WordPress中的潜力。
什么是WordPress API?
API(应用程序编程接口)是一组代码,用作两个应用程序之间的接口,用于共享信息。
一个应用程序向另一个应用程序发送身份验证请求,当身份验证完成时,两个应用程序就可以共享信息了。
例如,我们可以考虑嵌入谷歌地图在一个网站上。
谷歌地图的基本概念是搜索不同的地方并获得方向。
为了将此嵌入到您的网站,您首先需要通过登录您的谷歌帐户创建一个地图API密钥。
一旦从谷歌获得API密钥和映射嵌入代码,就可以将嵌入代码放到站点中。
这段代码首先使用您创建的API密钥向Maps API发送一个身份验证请求,当身份验证成功时,将向API发送另一个请求,用于检索您所给出的地址的方向。
因此,只需从您的网站调用两个API,您就可以在谷歌API的帮助下显示任何地址的方向。
REST API:
如果我们试图解释具象状态转移或者简单的REST,它基本上是一组原则,告诉你一个设计良好的web应用程序如何运行。
一个设计良好的web应用程序会做到以下几点:
- 应用程序是一组网络网页
- 用户选择指向进度的链接(状态转换)
- 下一页(应用程序的下一个状态)交付给用户进行处理
REST原则,由罗伊·托马斯·菲尔丁,2000年,使用万维网的HTTP协议在网络上的两个源之间发布/读取/更新/删除数据。
这两个源代码可以使用任何编程语言创建,并且彼此完全独立。
看待REST最简单的方式是,它是一组架构原则,通过让离散系统彼此交互而不需要翻译负担,从而使您的web应用程序更快。
重要的是要记住REST不是一种编程语言,它是web开发的驱动力。万博赞助狼队
API连接的简单示例:
为了连接到REST API,我们将使用以下HTTP方法PUT、GET、POST和DELETE。
http请求的URL结构将采用以下格式://www.icfc-ag.com/teachers/john”其中teacher和John是子目录。
对于数据交换,使用的两种主要格式是XML和JSON。大多数api的输出数据都是XML或JSON格式。
WordPress API默认结构
让我们看一些使用PHP Curl函数的PUT, GET, POST和DELETE方法的例子。
GET方法
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, " https:/www.icfc-ag.com/wp-json/wp/v2/posts/ ");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 1);
$result = curl_exec($ch);
回声(结果);
curl_close (ch);
? >
下面的链接代表了其他查询API GET请求的示例,
- http://yoursite.com/wp-json/wp/v2/posts/?status=publish
- http://yoursite.com/wp-json/wp/v2/posts/?per_page=1
PUT方法
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, " //www.icfc-ag.com/wp-json/wp/v2/posts/997 ");
curl_setopt($ch, CURLOPT_HTTPHEADER,数组('内容类型:应用程序/json ', '授权:基本'。base64_encode(' admin:APIToken ')));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, " PUT ");
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode(
阵列(
" status " => " publish "
)
));
$result = curl_exec($ch);
回声(结果);
curl_close (ch);
? >
下面的链接代表了其他查询API PUT请求的示例,
- http://yoursite.com/wp-json/wp/v2/posts/?status=%E2%80%9Ddraft%E2%80%9D
- http://yoursite.com/wp-json/wp/v2/posts/567
POST方法
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, " //www.icfc-ag.com/wp-json/wp/v2/posts/997 ");
curl_setopt($ch, CURLOPT_HTTPHEADER,数组('内容类型:应用程序/json ', '授权:基本'。base64_encode(' admin:APIToken ')));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, " POST ");
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode(
阵列(
" title " => "测试",
)
));
$result = curl_exec($ch);
回声(结果);
curl_close (ch);
? >
下面的链接代表了其他查询API POST请求的示例,
- http://yoursite.com/wp-json/wp/v2/posts/
删除方法
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, " //www.icfc-ag.com/wp-json/wp/v2/posts/997 ");
curl_setopt($ch, CURLOPT_HTTPHEADER,数组('内容类型:应用程序/json ', '授权:基本'。base64_encode(' admin:APIToken ')));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, " DELETE ");
$result = curl_exec($ch);
回声(结果);
curl_close (ch);
? >
下面的链接代表了其他查询API DELETE请求的示例,
- http://yoursite.com/wp-json/wp/v2/posts/567
- http://yoursite.com/wp-json/wp/v2/posts/567?force=true
如何禁用WordPress REST API
- Add_filter (' json_enabled ', ' __return_false ');
- Add_filter (' json_jsonp_enabled ', ' __return_false ');
用于自定义帖子类型以启用REST API
- " show_in_rest " = true;
WordPress和REST API:潜力
为什么在WordPress中有这么多关于REST API的讨论?
原因之一是WordPress自定义网站正迅速成为大多数企业主的标准。
和WordPress API开发专家希望利用这一原则的潜力,为客户的网站提供更好的用户体验。
对于想要建立网站的企业主来说,自定义WordPress网站是为他们的品牌创造独特身份的理想方式。
WordPress已经有了几个插件特性,可以与网络上的多个应用程序无缝对接。
通过将REST API与JSON (JavaScript对象表示法)结合使用,一个WordPress REST API网站专家可以开发一些真正强大的应用程序。
JSON是一种基于文本的数据存储格式,用于在平台之间交换数据。
REST API所做的是将WordPress的一些功能公开到web上。
其他网站现在可以与它互动了。
外部网站可以创建、删除、编辑和更新WordPress网站上的内容。
这种互动性使网站真正吸引潜在客户。
WordPress Rest API的优点:
为WordPress API开发,这意味着插件和主题的开发人员可以更快地交付输出,因为他们不需要知道连接细节。
他们甚至可以使用Backbone模型和AngularJS创建web应用程序,以帮助操作站点上的数据。
WordPress REST API已经实现在:
- 单页应用程序
- 为WordPress创建新的管理界面
- 移动应用程序
- 集成其他服务器端平台
结论:
WordPress中的REST API无疑对未来的web开发有很大的潜力。万博赞助狼队
对于一个WordPress REST API网站专家它提供了几种途径,使客户网站的用户体验真正令人难忘。