什麼是 WordPress REST API 以及如何使用它?

已發表: 2022-06-30

您可能聽說過 REST API。 也許您聽說 WordPress 用戶從中受益。 但您可能也想知道 WordPress API 到底是什麼。

了解 API 的工作原理並不像聽起來那麼複雜。 繼續閱讀以了解什麼是 API、什麼是 REST API,以及如何在您的網站中使用 WordPress REST API。

什麼是 API?

應用程序接口 (API) 是兩個應用程序相互“對話”的一種方式。 一個系統發出請求,另一個系統完成它。 系統接受的請求必須包含在 API 中——否則請求無法完成。

這樣想吧。 也許你真的很餓,所以你去華夫餅屋。 你點咖啡、雞蛋和煎餅。 女服務員開始寫下你的訂單——然後當你拿到煎餅時感到困惑。 Waffle House 不提供煎餅。 他們只供應華夫餅。

從僅提供華夫餅的 API 菜單中請求煎餅的系統將處於飢餓狀態。

什麼是 REST API?

當我們說 REST API 時,我們談論的是為互聯網設計的約束系統。 它描述了一個網站如何以可擴展和統一的方式從另一個網站請求信息。 REST 代表 Representational State Transfer,由 Roy Fielding 在他的博士論文中定義。

什麼是 WordPress REST API?

WordPress REST API 是指對在 WordPress 上運行的網站發出的請求。 如果我們請求帖子或頁面列表,我們可以期望從 WordPress REST API 接收該信息。 WordPress 絕不會提供任何未公開的信息,例如草稿帖子或(更重要的是)用戶密碼。

這是塊編輯器的基礎,它與 WordPress 動態交換數據而無需重新加載頁面。 每個端點都以 JavaScript 可讀的 JSON 格式返回數據——或者在這種情況下是塊。

請注意,REST API 只是 WordPress 提供的 API 之一。 例如,還有數據庫 API 和元數據 API,插件使用它們與服務器上的 WordPress 進行交互。 您可以在 Codex 中了解有關 WordPress API 的更多信息。

WordPress REST API 請求如何工作?

REST API 有幾個基本部分,即:路由、端點、請求和響應。

路線

路由是我們引用網站通信所用 URL 的方式。 WordPress 中的一個常見路徑是“/wp-admin”。 雖然它不是 REST API 的路由,但它是瀏覽器用來訪問 WordPress Admin Dashboard 的路由。 出於我們的目的,REST API 路由以“/wp-json”開頭(JSON 是數據的標準格式)。

端點

端點是路由和傳入請求類型的組合。 一條路由可以連接到多個端點,因為有多種請求類型。 常見的請求類型包括 GET(我們如何讀取路由上的數據)和 POST(我們如何更新路由上的數據)。

請求和響應

與 REST API 的每次通信都夾在請求和響應之間。 一個系統發出另一個系統響應的請求。 WordPress REST API 包括方便的插件對象,用於在擴展 WordPress REST API 時訪問請求數據 (WP_REST_Request) 和管理響應數據 (WP_REST_Response)。

如何在 WordPress 中安裝 REST API

從 WordPress 4.7 版開始,WordPress 將 REST API 作為核心功能。

如果您運行的是舊版本,則可以安裝 json-rest-api 功能插件。 這用於在與 WordPress 代碼庫完全集成之前開發 REST API。 此插件在技術上已關閉,因此建議您更新您的 WordPress 版本(或者考慮使用託管 WordPress 託管,您將始終保持最新狀態。)

WordPress REST API 示例

看看 GiveWP 網站。 如果您訪問他們的博客,您將能夠看到最近的新聞和帖子。 這個路由渲染 HTML,看起來很漂亮,但程序員很難與之交互。 相反,使用“/wp-json/wp/v2/posts”路由將帖子提供給程序員。

“/wp-json/wp/v2/posts”路由告訴我們這是一個 WordPress 資源(“/wp”),這是資源的版本 2(“/v2/”),特別是這些是帖子(“/帖子”)。 如果您還沒有,請訪問 https://givewp.com/wp-json/wp/v2/posts 並將您看到的內容與 https://givewp.com/blog/ 進行比較。 我會給你一個提示——這是相同的信息!

有關如何在 WordPress 中使用 REST API 的示例,請考慮最新的帖子塊。 為了在 WordPress 中獲取帖子列表,該站點通常需要向服務器發出請求,然後重新呈現整個頁面。

最新的帖子塊可以隻請求帖子,然後重新呈現自己。 它使用 REST API 來執行此操作。 它可以多次輪詢新帖子——無需重新渲染整個頁面。 當您考慮使用塊來編輯和顯示頁面組件的完整站點編輯時,這尤其有用。

每個單獨的組件都可以請求它需要的數據(包括檢查更新),然後僅重新渲染已更改的數據。

現在你知道了

現在您已經了解了 WordPress REST API 的目的和結構,請四處尋找您可以自己找到的內容。 有關使用和擴展 WordPress REST API 的完整概要,請查看 REST API 手冊。

請記住:如果有人問您有關 API 的問題,您不能在 Waffle House 訂購煎餅。

當您微調您的網站時,不要忘記偉大的網站需要偉大的託管。 您可以通過 Nexcess 託管 WordPress 獲得所有這些。 憑藉強大的速度、可擴展性選項和出色的支持,您可以依靠 Nexcess 為您的 WordPress 網站提供支持。

來看看為什麼 Nexcess 內置了更好的功能。 立即查看我們的 WordPress 完全託管的託管計劃。

探索 WordPress 託管計劃

相關的 WordPress 資源

  • WordPress.com 與 WordPress.org
  • 加快 WordPress 網站速度的 5 種高級技術
  • 什麼是 WordPress 託管?
  • WordPress插件基本指南
  • 如何選擇虛擬主機:尋找什麼和避免什麼