直接用 MySQL 來解決 WordPress 內文章跳號的問題

我想關於 WordPress 文章跳號的問題,已經不是新聞了吧?

讓我們來回顧一下吧,大約好幾年前,WordPress 還是2.6的年代時候,那時他增加了一個新的功能,就是所謂的文章多版本(Post Revision),這個好意在我們的心中,卻是個非常麻煩的東西,因為不但文章的ID會跳號,甚至會造成資料庫的負擔,也因此,就有人找出了一個方法,來解決此問題。而我有幸剛好有經歷過這個問題,那時我不但有把語法貼上去,甚至還裝了兩個外掛,以免讓我的文章跳號,但沒想到,過了快三年後,這個方法居然失敗了?

聽說,原因是因為 Auto Draft 的關係,當我們從後台上傳檔案的時候,不論是圖片還是其他的影像,系統會自動給他一個ID,也就是因為這樣,即使我們關掉了那些會產生多版本或是自動儲存的文章,一旦我們從後台上傳了東西,那麼要讓文章的ID連續還是非常的困難。雖然我有看到高登老爺在這篇有說該如何處理。但這個方法卻並沒有解決掉已經跳號的問題,那如果要解決的話,該怎麼處理呢?

答案就是,直接從 MySQL 裡頭來解決!

這次的步驟非常繁瑣,而且有危險性,一個不小心就有可能會毀掉你的資料,所以記得要斟酌一下,並記得要備份DB後,在執行。

1.所以說,我們得先到虛擬主機後台的,去找尋 MySQL 的操作介面,因為每家主機商提供的可能會有點出入,以下我是以GODADDY來舉例

2.一般來說,若沒有進行特別設定的話,我們可以在旁邊的 wp_posts 的分支裡面,找到我們有關於文章的ID編號

3.我們可以看到ID欄,而你也有可能會發現ID是不連續的,這表示你已經發生跳號的情形,還有另外個情形是,ID有連續的,但是從 post_content 這欄卻發現內容不知所云,這表示很多ID已經被上傳的內容給佔據了。

4.在確定好了那些是要進行斬殺的後,就把它刪除掉吧,這樣這篇文章的ID就被空下來了(這裡要小心,因為我當初上傳的東西已經被我刪除掉了,所以並沒有後遺症,但我不確定若上傳的圖片還存在的話,是否會造成問題,建議可以用FileZilla來上傳我們所要的圖片)

5.刪除完會發現中間有很多空的號碼,這時候,為了讓所有的號碼從新排列,我們可以點選編輯

6.現在我們將編輯這邊文章的資料,在ID的部分我們可以把值進行修改城我們所要的號碼。

7.如果說我們選擇的新ID是12號的話,那麼記得在 guid 這一欄,網址最後的部分也要改成12。

8.光是這樣還不構,因問就算我們把原本的空號已經用其他文章填進去了,但因為Auto Draft 的ID號碼已經在很後面,所以我們先回到步驟3,然後找尋 post_status 這一欄,找到了Auto Draft 的這欄,然後進行編輯,把它的ID以及 guid 都調成你其他修改完後的下個號碼(如果你其他的ID最後只到12,那這個就要給他13號)

相關文章

進來坐坐,說說最近的事情:

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料