問題描述

我有一個 WordPress.org 網站,它接受使用者輸入,搜尋自定義資料庫並顯示查詢結果。我有這個工作使用 wpdb class 。現在我試圖讓這個工作的 Android 應用程式。

從我所理解的,構建 RESTful 伺服器是目前這種事情的’best practice’ 。我已經研究了一些可以幫助我做的外掛,我遇到了:

  1. json-rest-api – 在我看來,這隻會暴露出 WordPress 的核心功能 (即帖子,頁面,使用者等),我無法看到如何在 non-default 表上執行自定義查詢。

  2. This blog post 說,wp mvc 完全符合我想要的,除了它在兩年以上還沒有更新,所以有點規則。

  3. 還有 Jetpack,但是從我所看到的,json-rest-api 是更新的版本,似乎只提供核心功能。

有沒有辦法使任何這些外掛適用於自定義端點?還是還有其他我還沒有發現的外掛?

如果我不使用外掛,我想我必須自己滾動。我可以從頭開始 (使用 wpdbmsqli 或某些東西),或者藉助於諸如 Restler 的 API 。

如果我自己做滾動我應該在我的主題中建立一個模板,做 REST 的東西在那裡,並將該主題分配到儀錶板中的頁面?還是更好的是讓另一臺伺服器與 WordPress 分開執行?

據我所知,這是我唯一的選擇。我想知道這種事情的推薦最佳做法是什麼。我覺得很難相信別人沒有這樣做。有沒有我忽略的選擇?

最佳解決方案

長文慎入

是的,WordPress 肯定可以作為移動應用的後端。是的,頁面可以作為休息終端/介面。不,主題模板不是邏輯的正確領域。編寫自己的外掛


Pointers

I find it hard to believe that no one else has done this.

我,一個,有。不止一次。我幾乎確定我不是一個人。 「沒人有廣泛的部落格」 可能是更正確的概念。

If I don’t use a plugin, I figure I would have to roll my own. I can do this either from scratch (using wpdb, msqli or something), or with the help of an API such as Restler.

我不知道”Restler”,而且這個堆疊超出了範圍。至於 「使用 wpdb,msqli 或某些東西」,您肯定會使用 wpdb 將資料儲存 (接收) 到資料庫,但與端點邏輯無關。

主題模板不是你應該研究的。主題用於視覺呈現。 REST 端點根本不需要視覺外觀。

將端點插入您要透過 shortcode 使用的頁面。

讓短程式碼處理程序/回撥監聽 HTTP POSTGET,並相應呼叫資料儲存或其他輔助方法。


使用 WordPress 作為端點/後端是否有意義?

這取決於。如果您需要的是一個端點來儲存資料:否載入整個核心只是為了使用 wpdb 儲存幾行程式碼是不值得的。如果您需要可以透過 Web 瀏覽器登入的後端,可以顯示錶格資料,提供更改資料的方法,甚至可以使用多個訪問級別/使用者角色和許可權,那麼是的,這是有道理的。

參考文獻

注:本文內容整合自 Google/Baidu/Bing 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。