使用WordPress REST API啟動並運行

在我們深入研究WordPress REST API之前,讓我們先了解一下WordPress本身,以便為初學者帶來好處。

WordPress於2003年推出,旨在輕鬆創建和發布網頁,尤其適用於不太熟悉Web開發或編程的人。多年來,WordPress已經從一個博客平台發展成為一個成熟的網路開發工具,能夠構建功能豐富的Web應用程序和電子商務商店。

WordPress在2015年12月推出了WordPress REST API,進一步擴展了其服務。這一強大的功能為開發人員將前端與數據管理分開,打開了使用WordPress的全新方式。 REST API還允許他們在其他Web和移動項目中利用WordPress代碼庫。

如果您對使用WordPress REST API感興趣,可以參考詳細的文檔。但是,不熟悉REST API基本概念的人可能需要了解它是什麼以及它是如何工作的!

在本指南中,我將介紹REST API的基本概念和解剖,以幫助您使用WordPress REST API。

這是我要介紹的一切

表中的內容

什麼是API?

API的例子
REST API

為什麼要使用REST API?

WordPress REST API剖析

路線和終點
要求
回應
控制器類
架構(JSON)

如何使用WordPress REST API?

啟用和更新REST API
認證
發布數據
獲取數據

什麼是API

應用程序編程介面或API是一組用於兩個或多個應用程序之間通信的指令。

API允許多個應用程序相互通信或與集中後端通信,以執行也可能涉及資料庫訪問的特定任務。

使用API​​的應用程序僅允許訪問端點(稍後說明)以發布和讀取數據。它不允許進行任何邏輯更改,也不允許訪問API的後端代碼。

簡而言之,它是一種安全的方法,可以訪問第三方應用程序以使用您的程序和資料庫。

有幾種類型的API,例如:

  • SOAP(簡單對象訪問協議)
  • XML-RPC
  • JSON-RPC
  • 休息

在本文中,我只討論REST API。在我解釋REST API是什麼之前,讓我們看看API派上用場的一些重要用例。

  • Google API(允許用戶使用其Gmail帳戶登錄)
  • Google MAPS(允許您在網路或移動應用程序中集成MAPS功能)
  • Facebook API(允許您添加「使用Facebook登錄」功能並通過該應用程序發布。)
  • Twitter API(使Twitter分享變得簡單)

REST API

REST,Representational State Transfer的縮寫,是一種API,它不是協議,而是一組架構主體。

請允許我用簡單的英語解釋一下。

REST API允許用戶使用易於解析且操作更簡單的文本數據。此文本數據通過超文本傳輸​​協議(HTTP)提供,並使用JSON格式,使用戶可以將此數據用作JavaScript對象。

希望這很簡單,你可以理解。

為什麼使用REST API

REST API已成為行業標準,並已被Google,Facebook和亞馬遜等技術巨頭採用。由於其結構和快速的數據交換,開發人員還發現它更容易使用。

為什麼REST API很受歡迎?嗯,這是因為他們使用JSON進行數據格式化。 JSON表示鍵/值對中的數據,這些數據較少混淆且更易於預測。使用JSON的API在數據交換方面更快,並且與XML格式相比具有更簡單的代碼。

以下是使用REST API的一些優點:

  • 由於結構更簡單,JSON(通常與REST API一起使用)解析得更快。
  • 它們更容易使用。
  • 它們提供更好的瀏覽器支持,非常適合緩存特別是靜態信息。
  • REST API消耗較少的帶寬,並且更易於與現有Web項目集成。

雅虎,eBay,亞馬遜和谷歌等巨頭都採用了它。

現在您已經基本了解了API是什麼以及使用REST API有什麼優勢,讓我們深入探討WordPress REST API的解剖。

WordPress REST API剖析

構建REST API是為了使伺服器和客戶端保持分離,並且更易於管理,更新和部署。
想像一下,如果伺服器端和客戶端代碼都寫在一個文件中,並且您需要在幾個月後進行更改?好吧,首先要理解你的代碼好運,更不用說經歷更新文件的麻煩了。

任何REST API的主要目標是執行CRUD(創建,讀取,更新和刪除)任務。

通常,請求來自客戶端的以下請求的API:

GET:此命令從伺服器獲取數據。例如;檢索客戶的信息。

POST:此命令允許您將數據添加到伺服器。例如;註冊客戶。

PUT:此命令允許您更新現有數據。例如;更新訪問者的密碼。

刪除:顧名思義,此命令允許您從資料庫中刪除數據。

路線和終點

路由和端點是WordPress REST API的兩個基本元素。端點只是一個URL,通過該URL與伺服器建立連接,路由是可以訪問以執行特定操作的各個微服務。

這是一個例子:

https://wordpress.org/wp-json/

在上面的URL中,/ wp-json /是獲取與WordPress,名稱空間和路由相關的信息的路由。

要求

您使用WordPress REST API執行的任何任務都是以請求的形式。此請求由名為WP_REST_Request的默認類處理。此類存儲使用WP REST API進行的所有請求的信息。

通常,會向某個端點發出請求,並且還可以包含參數。一個這樣的示例是獲取特定類別的發布數據。

回應

響應包含您在向API發出請求時要求的所需信息。 WordPress REST API響應包含JSON格式的數據,易於使用。如果出現任何問題或驗證失敗,則會在同一響應中出現錯誤。

查看響應的最簡單方法是使用Chrome開發人員的工具。只需右鍵單擊窗口並單擊Inspect。這應該打開一個新窗口,您可以在其中轉到Console以獲取控制台消息,也可以轉到Network選項卡以獲取API請求的詳細視圖。

如您所見,它包含有用的信息,例如請求的URL,請求方法,狀態代碼和響應標頭。

控制器類

Controller Classes進一步擴展了WordPress REST API的功能。它允許您構建自定義端點和路由,並管理負責運行API的所有元素。

架構(JSON)

Schema允許您定義端點可以使用的數據結構以及REST API可以接受的參數。

如何使用WordPress REST API

在WordPress中啟用REST API

要使用WP REST API,請確保已通過運行以下命令安裝它(您可以在SSH終端內運行命令):

wp –info

1

wp –info

運行上面的命令後,我收到以下錯誤,這意味著我需要在我的伺服器上安裝wp-cli。

在WordPress上安裝REST API很簡單。您只需運行以下命令:

curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar

1

curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar

現在更改文件的許可權以使其可執行:

chmod + x wp-cli.phar
sudo mv wp-cli.phar / usr / local / bin / wp

1
2

chmod + x wp-cli.phar

sudo mv wp-cli.phar / usr / local / bin / wp

現在,您可以毫無問題地運行WP-CLI命令。

在WordPress中更新REST API

如果您需要更新REST API,只需登錄SSH終端並運行以下命令。

wp cli更新

1

wp cli更新

此命令將使用最新,穩定版本的WP REST API更新WordPress中的REST API。

認證

使用WordPress REST API進行基本身份驗證很容易設置。在這種類型的身份驗證中,用戶請求需要驗證的URL。用戶發送到此請求的憑證以base64字元串編碼。但是,這不被認為是最安全的身份驗證方法,因為base64字元串可以輕鬆解碼。

要使用此類型的身份驗證,請從Github下載Basic Auth插件,然後使用「插件」選項卡將其上載到WordPress站點。

其他兩種類型的身份驗證是Cookie驗證(由同一站點上運行的插件和主題使用)和OAuth身份驗證(用於外部客戶端)。

發布數據

在WordPress中使用REST API的主要優點是它能夠將WordPress連接到任何其他應用程序。

wp_remote_post函數可用於發布數據。此函數接受兩個參數:端點或您要使用的URL以及您希望隨其發送的參數。

例如,如果您需要使用WordPress API添加新帖子,可以通過以下方法執行此操作。

$ args('body')= array(
'title'=>'WP REST API',
'status'=>'草稿',
'content'=>'內容'
);
$ response = wp_remote_post('http:// username:password@yoursite.com/wp-json/wp/v2/posts/',$ args);

1
2
3
4

6

$ args('body')= array(

'title'=>'WP REST API',

'status'=>'草稿',

'content'=>'內容'

);

$ response = wp_remote_post('http:// username:password@yoursite.com/wp-json/wp/v2/posts/',$ args);

在上面的代碼中,我請求我的WordPress網站使用WordPress REST API添加新的博客文章。

獲取數據

wp_remote_post函數也可用於從WordPress站點獲取數據。

例如,如果您需要按特定類別提取帖子,只需使用以下代碼行進行請求:

$ response = wp_remote_get('http:// username:password@yoursite.com/wp-json/wp/v2/posts/?categories = 3');

1

$ response = wp_remote_get('http:// username:password@yoursite.com/wp-json/wp/v2/posts/?categories = 3');

在上面的代碼中,我僅使用WordPress REST API請求某個類別的帖子。但是,如果我嘗試訪問Restricted資源而不傳遞設置的身份驗證條件,則會返回錯誤。

最後的想法

WordPress REST API是一個功能強大的工具,可用於構建新插件,升級現有Web項目以及自動執行任務。使用REST API是將Web項目與WordPress連接的最快和最好的方法。

在本教程中,我已經解釋了REST API是什麼,它是如何工作的,以及WordPress REST API如何工作。我建議你測試它並試驗它以了解這個神奇功能的真正力量。

此外,不要忘記在下面的評論中分享您的經驗。

相關文章