2017-02-17 30 views
6

上下文:我需要爲一個站點創建一個包含大量自定義和很多字段(20+)的表單,而不是安裝插件並修改地獄(或者學習插件的API),我決定編寫自己的插件。由於我從頭開始這樣做,存儲數據的問題必須得到解答。爲WordPress存儲自定義數據的最佳做法

大多數人會建議使用自定義的帖子類型和元數據而不是自定義表格,並且我熟悉自定義帖子類型和分類法等,我想知道這對於純數據存儲最好是相等日誌。

表單爲單次使用,我要存儲的數據將無法在網站的前端訪問,並且只會在WP-admin上「查看」,並且很可能只是一個頁面一張可過濾的桌子。

所以問題是這是否保證使用自定義的帖子類型和元數據,或者我應該創建一個表並使用$ wpdb類,因爲這簡化了CRUD並且仍然堅持「做事的Wordpress方式」。

閱讀:This post成爲一名優秀的情況下自定義表,特別是因爲他們的例子是關於存儲私人數據,效率和隱私的問題出現。 This question,幾年前的回答有相反的意見,但用例不同,因爲存儲的數據是公開展示的。

回答

4

我強烈建議使用單獨的表格。 WP table postmeta通常充滿了大量不同插件的信息,並且通常最終成爲數據庫中最大或最大的表。

除此之外,如果保存在postmeta表中,它將始終部分保存在posts表中,因爲這兩者需要彼此才能連接和完成信息。因此,如果您要導出/導入到另一個數據庫,您將不得不涉及一個非常不愉快的過程,其中定製帖子需要與最後一個數據庫中的相同ID

此外,數據非常容易訪問如果在一個單獨的表中,並且應該易於從phpmyadmin中讀取,並且如果您只具備基本的SQL知識,那麼使用$ wpdb類編碼可過濾表應該很容易。

所有這些都來自我最近將兩個大型wordpress網站合併爲一個,並將大量信息保存爲postmeta的經驗......我真希望大部分信息都保存在一個自定義表格中,因爲這會讓我的生活變得更加美好更輕鬆。

使用meta和自定義帖子類型的唯一原因是它更快更簡單(至少在我的經驗中)。希望這有幫助,我真的很感興趣,看看是否有其他意見。祝你的項目好運!

1

在大多數情況下,使用帶有元數據的自定義帖子類型非常簡單且很酷,因爲它速度很快,而且您可以使用所有酷酷的wordpress功能。

在數據庫中最好使用新表的情況是,您必須保存大量數據,即訪問日誌或類似數據。

WooCommerce(wordpress人插件)將產品保存爲CPT以及屬於元數據的所有數據。

+0

不錯,你提到woocommerce,woocommerce組織它的數據的方式是否很快樂?我知道這是與wordpress標準內聯,但在某些情況下,我希望它會有不同的構建。 – funkysoul

+0

是的,我很高興。我已經用自己創建的導入腳本導入了多個XML目錄,這些腳本使用常見的wordpress函數來存儲產品數據。至少我有超過5000種產品在店裏,感覺不錯;) –

2

有趣的問題!

我通常使用(如你所說的)自定義帖子類型和分類對於這種情況。所以這將是我的路要走,我有點害怕的唯一的事情就是你提到的「..註冊日誌..」

我很肯定你會更好使用一個單獨的桌子,它只是通過postmeta表工作。最後如果你知道如何使用$ wpdb類,你應該沒問題!

期待別人的輸入

相關問題