問題描述

我有一個 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 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。