2014-11-02 42 views
-3

我正在爲我的一個網站創建一個簡單的管理系統,現在我正在創建一個受WordPress的帖子系統啓發的博客。WordPress如何將郵件恢復到以前的狀態?

在我的博客中,您可以將其另存爲草稿或已發佈的版本。 現在我想要創建一個方法,所以當你刪除一個博客時,它會變成數據庫中的「垃圾」。當你恢復它時,它會像WordPress一樣再次被恢復爲同一類型。

但是WordPress如何將它的垃圾回覆到原來的post_status呢?我查看了WordPress數據庫,但是我無法弄清楚它是如何實現的,導致原始post_status在被刪除時被替換爲「垃圾」,並且沒有存儲在表中的任何其他位置。

那麼它如何「記住」它的原始post_status?希望你明白我在問什麼:D

對不起,不是一個代碼相關的問題,但我找不到任何其他地方的任何答案。

  • 感謝
+2

'垃圾'是發佈狀態不是帖子類型。只需在名爲post_status的帖子表中添加一列,即可輕鬆完成。那麼你可以按他們的狀態來組織你的帖子。 like,'draft','publish','trash'等.... – 2014-11-02 17:02:02

+0

它存儲以前的狀態。無所謂在哪裏。您正在實施新系統,您可以選擇將其存儲在何處。 – 2014-11-02 17:31:22

+0

我已經在數據庫中搜索過它,並且它不存儲以前的狀態 – Christensen 2014-11-02 17:40:59

回答

0

這是基本的東西坦率地說。您應該查看wp_posts表並查看已刪除帖子和已發佈帖子(可能還有其他人)之間的區別。 Wordpress通過更改特定行數據的post_status列來實現這一點。這樣它就知道相關職位的當前狀態。

它可能與答案沒有關係,但對於那些正在尋找這個問題的答案的人,應該考慮查看數據源,即您試圖學習的任何系統的數據庫......無論是Wordpress還是Moodle的。

+0

但是當列被更改爲「垃圾」時,它如何知道以前的狀態是什麼? – Christensen 2014-11-02 18:56:35

+0

@Kristiansen是什麼讓你覺得它呢? – Gogol 2014-11-02 19:29:34

+0

因爲如果您在WordPress中單擊還原,它會恢復到以前的狀態。 – Christensen 2014-11-02 20:13:22

0

要短:

一個WordPress後的以前的狀態後,存儲在wp_postmeta表。 在該表中,帖子被刪除的時間也被存儲。

如果您隨後還原帖子,則刪除包含該帖子的數據的行。

這應該回答你的問題。

0

所有帖子,頁面和cpts都存儲在數據庫的{table_prefix}_posts中。

的文章,頁面,或者被丟棄CPTS有post_statustrash在某些情況下,永久也改爲__trashed

e.g; http://example.com/sample-page__trashed 

要恢復後頁面,更改post_statuspublished和刪除__trashed從永久鏈接,如果它存在。

我最近在使用'前端用戶專業版'插件的網站上解決了問題,並且登錄頁面和重置密碼頁被丟棄。該網站無法正常工作,我使用上述方法對其進行了修復。

相關問題