搜尋
首頁CMS教程&#&按淺析WordPress中文章ID不連續問題怎麼解決(完美方法)

WordPress中文章ID不連續問題怎麼解決?以下這篇文章跟大家分享下WordPress完美解決文章ID不連續問題的方法,希望對大家有幫助!

淺析WordPress中文章ID不連續問題怎麼解決(完美方法)

有很多WordPress部落格的固定連結中使用了文章ID,但是WordPress由於種種原因導致了文章ID不連續的問題,也經常有博友在論壇中提問要解決這個問題,但是很少能夠得到他們滿意的答案。

今天我就來告訴你如何完美的解決這個問題,說是完美,可能有點過了,WordPress 3.0 之後的版本都會有個自動草稿,每發表一篇文章就會佔兩個ID號,目前還沒有禁用的方法。也請繼續往下看如何一定程度解決文章ID不連續的問題。

當然如果你的固定連結中沒有使用post ID,那麼對你來說文章ID是透明的,無關緊要。即使固定連結中用了post ID,如果你不是特別在意,連不連續也是無關緊要的,本文對你來說也沒太大意義了。

一、禁用文章修訂版

所謂的文章修訂版就是你每次修改一次文章,它都會自動幫你保存修改之前的文章版本,專業術語叫做版本控制,這樣保證了在誤修改的情況下可以還原之前的內容,這個在維基文檔的維護方面是有很大幫助的,但是作為我們的小博客,似乎沒多大用處,而且這個修訂版在資料庫中是佔據一個ID的,這也是導致文章ID不連續的問題之一。若要停用文章修訂版,可以在wp-config.php檔案中新增:

define('WP_POST_REVISIONS', false);

     也可新增目前主題的functions.php新增下列PHP程式碼:

#
// 禁用修订版本,2015年3月5日更新
add_filter( 'wp_revisions_to_keep', 'specs_wp_revisions_to_keep', 10, 2 );
function specs_wp_revisions_to_keep( $num, $post ) {
   if ( 'post_type' == $post->post_type )
      $num = 0;

   return $num;
}

二、刪除文章修訂版

禁用了文章修訂版之後,資料庫中還是保存著先前已經建立的文章修訂版,這些其實已經沒多大用處,而且佔著ID,我們可以刪除它。至於怎麼刪除,可以在phpmyadmin 中執行以下SQL語句(會影響置頂文章,慎用!並且做好備份):

DELETE a,b,c
FROM wp_posts a
LEFT JOIN wp_term_relationships b ON (a.ID = b.object_id)
LEFT JOIN wp_postmeta c ON (a.ID = c.post_id)
WHERE a.post_type = 'revision';

三、刪除不必要的附件

我相信很多博友在發布文章都會同時上傳/插入一些附件,如圖像、視頻、音樂等,這些附件可以在WordPress管理後台- 媒體庫中看到,不同媒體對應了不同的文章。但你要注意的是這些媒體也是佔據著文章ID的,它們與文章都保存在同一個資料庫表wp_posts中。如果你特別追求文章的ID一定要完美無缺地連續,請不要在發布文章的時候上傳/插入這些媒體,並請在WordPress管理後台- 媒體庫中,刪除之前上傳的媒體(注意這個操作不只是刪除記錄,而且會刪除你上傳的檔案),需要的話請用FTP重新上傳這些檔案。

四、停用自動儲存

自動儲存的好處是你在編輯文章的時候,每隔一小段時間系統會自動幫你儲存編輯的文章,防止網頁突然關閉,導致之前寫的幾千字嘩啦一下全沒了。缺點是每篇都文章都會有一個自動儲存的記錄,同樣佔據一個文章ID,也是文章ID不連續的原因之一,如果你不需要這個功能,可以在目前主題的functions.php中加入以下程式碼:

// 禁用自动保存,所以编辑长文章前请注意手动保存。
add_action( 'admin_print_scripts', create_function( '$a', "wp_deregister_script('autosave');" ) );

五、重新排列不連續的文章ID

方法一:可在目前主題的functions.php中加入下列PHP程式碼,這樣如果你只是單純發文章,不發頁面,不添加菜單,不上傳媒體的話,基本上此後的文章ID是連續的,而且不改變之前已經發布的文章ID,不影響SEO:

// WordPress 3.8测试有效
function keep_id_continuous(){
  global $wpdb;

  // 删掉自动草稿和修订版
  $wpdb->query("DELETE FROM `$wpdb->posts` WHERE `post_status` = 'auto-draft' OR `post_type` = 'revision'");

  // 自增值小于现有最大ID,MySQL会自动设置正确的自增值
  $wpdb->query("ALTER TABLE `$wpdb->posts` AUTO_INCREMENT = 1");  
}

add_filter( 'load-post-new.php', 'keep_id_continuous' );
add_filter( 'load-media-new.php', 'keep_id_continuous' );
add_filter( 'load-nav-menus.php', 'keep_id_continuous' );

如果你使用了置頂文章、選單和父子頁面等功能,以下的方法失效:

方法二:完成以上幾步,基本上可以保證以後發布的文章ID都會是連續的了,但是之前已經發布的文章ID還是一片混亂,得把他們重新排列,以保證是ID是連續的。我寫了一個PHP腳本,你可以通過以下網址下載,下載後用文本編輯器打開,根據開頭的說明修改數據庫信息,然後將該PHP文件上傳至你的博客空間,運行一下看到OK就可以了,你可以到phpmyadmin中查看wp_posts表中的id是不是連續的了。還是那句話,開始之前請先備份你的資料庫。 (如果你使用了post id作為固定鏈接,那麼將可能改變所有文章的網址,會影響搜尋引擎收錄;如果你用的插件建立了新的資料庫表,如投票插件等,也會出現問題;如果你的部落格中創建了父子關係的頁面,運行了以下腳本將會失去此關係。 推薦學習:《

WordPress教學

以上是淺析WordPress中文章ID不連續問題怎麼解決(完美方法)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文轉載於:露兜即刻。如有侵權,請聯絡admin@php.cn刪除
我可以在3天內學習WordPress嗎?我可以在3天內學習WordPress嗎?Apr 09, 2025 am 12:16 AM

能在三天內學會WordPress。 1.掌握基礎知識,如主題、插件等。 2.理解核心功能,包括安裝和工作原理。 3.通過示例學習基本和高級用法。 4.了解調試技巧和性能優化建議。

WordPress是CMS嗎?WordPress是CMS嗎?Apr 08, 2025 am 12:02 AM

WordPress是內容管理系統(CMS)。它提供內容管理、用戶管理、主題和插件功能,支持創建和管理網站內容。其工作原理包括數據庫管理、模板系統和插件架構,適用於從博客到企業網站的各種需求。

WordPress有什麼用?WordPress有什麼用?Apr 07, 2025 am 12:06 AM

wordpressgood forvortalyanewebprojectDuetoItsAsatilityAsacms.itexcelsin:1)用戶友好性,允許Aeserywebsitesetup; 2)sexibility andcustomized andcustomization and numerthemesandplugins; 3)seoop timigimization; and4)and4)

我應該使用Wix或WordPress嗎?我應該使用Wix或WordPress嗎?Apr 06, 2025 am 12:11 AM

Wix適合沒有編程經驗的用戶,WordPress適合希望有更多控制和擴展能力的用戶。 1)Wix提供拖放式編輯器和豐富模板,易於快速搭建網站。 2)WordPress作為開源CMS,擁有龐大社區和插件生態,支持深度自定義和擴展。

WordPress的成本是多少?WordPress的成本是多少?Apr 05, 2025 am 12:13 AM

WordPress本身免費,但使用需額外費用:1.WordPress.com提供從免費到付費的套餐,價格從每月幾美元到幾十美元不等;2.WordPress.org需購買域名(每年10-20美元)和託管服務(每月5-50美元);3.插件和主題多數免費,付費的價格在幾十到幾百美元之間;通過選擇合適的託管服務、合理使用插件和主題、定期維護和優化,可以有效控制和優化WordPress的成本。

WordPress仍然免費嗎?WordPress仍然免費嗎?Apr 04, 2025 am 12:06 AM

WordPress核心版本是免費的,但使用過程中可能產生其他費用。 1.域名和託管服務需要付費。 2.高級主題和插件可能需要付費。 3.專業服務和高級功能可能需要付費。

對於初學者來說,WordPress容易嗎?對於初學者來說,WordPress容易嗎?Apr 03, 2025 am 12:02 AM

WordPress對初學者來說容易上手。 1.登錄後台後,用戶界面直觀,簡潔的儀表板提供所有必要功能鏈接。 2.基本操作包括創建和編輯內容,所見即所得的編輯器簡化了內容創建。 3.初學者可以通過插件和主題擴展網站功能,學習曲線存在但可以通過實踐掌握。

為什麼有人會使用WordPress?為什麼有人會使用WordPress?Apr 02, 2025 pm 02:57 PM

人們選擇使用WordPress是因為其強大和靈活性。 1)WordPress是一個開源的CMS,易用性和可擴展性強,適合各種網站需求。 2)它有豐富的主題和插件,生態系統龐大,社區支持強大。 3)WordPress的工作原理基於主題、插件和核心功能,使用PHP和MySQL處理數據,支持性能優化。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
4 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

SecLists

SecLists

SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。