如何執行WordPress資料庫搜尋和替換

如何執行WordPress資料庫搜尋和替換

在管理您的WordPress網站時,在這裡做些小改動通常沒什麼大不了的。但是,有時您需要一次更新站點上的許多元素,在這種情況下,可能需要進行WordPress搜尋和替換。

例如,也許您剛剛從HTTP遷移到HTTPS,並且您需要更新WordPress資料庫中的所有硬編碼HTTP URL。或者,您可能正在更改域並需要更新所有資料庫引用。在很多情況下,知道如何執行批量WordPress搜尋和替換可以為您節省大量時間。

在這篇文章中,我們將解釋什麼是WordPress搜尋和替換,以及何時可能需要進行搜尋和替換。然後,我們詳細介紹幾種不同的搜尋替換方法。

  1. WordPress搜尋和替換概述
  2. 如何執行WordPress搜尋和替換

WordPress搜尋和替換概述

在少數情況下,您可能需要在WordPress網站上執行搜尋和替換。最常見的情況之一是當您想要替換新增到多個頁面或文章的一段文字(例如免責宣告或個人簡介)時,但您不知道它當前所在的每個位置。

與手動搜尋每個文章和頁面以查詢要切換的文字相比,能夠進行批量搜尋和替換可以節省大量時間。此外,您不僅可以在文字上使用此技術。

例如,您還可以執行批量WordPress搜尋並替換WordPress資料庫中的URL和影象。如果您想,此功能會派上用場:

  • 更新您的搜尋引擎優化 (SEO) 關鍵字
  • 更正語法或拼寫問題
  • 刪除某些單詞或特殊字元
  • 遷移後將您的HTTP URL更新為HTTPS
  • 將您的網站從www移到非www網址(反之亦然)
  • 更新舊的簡碼、內容或文字字串

我們要提到的一件事是沒有“撤消”選項。一旦替換了文字或其他內容,就無法取回舊版本。您將不得不進行另一次批量搜尋和替換才能逆轉該過程。這就是為什麼我們強烈建議在任何WordPress搜尋和替換例程之前執行備份

如何執行WordPress搜尋和替換

有很多不同的方法可以執行 WordPress 搜尋和替換。讓我們來看看五個推薦的選項。

1.安裝WordPress搜尋和替換外掛

您可以使用外掛執行WordPress搜尋和替換而無需手動搜尋您的資料庫。您可以使用的一種流行解決方案是Better Search Replace

WordPress外掛-Better Search Replace

WordPress外掛-Better Search Replace

Better Search Replace外掛是由一個WordPress團隊-Delicious Brains開發的,其靈感來自於互連/it PHP 指令碼,我們將在下一個方法中提及。

Better Search Replace的一些功能包括:

  • 對所有表的序列化支援。
  • 選擇特定表的能力。
  • 進行“試執行”以檢視將更新多少欄位的選項。
  • 除了WordPress的執行安裝之外,沒有伺服器要求。
  • WordPress多站點相容性。

此工具有數百種不同的用例。正如您在下面的示例中看到的那樣,在“更好的搜尋替換”選項中,您可以輕鬆搜尋任何硬編碼的HTTP引用並使用HTTPS版本進行更新:

Better Search Replace外掛選項

Better Search Replace外掛選項

該外掛還有一個專業版,可讓您訪問更多功能。您可以檢視有關如何更好地使用此外掛的官方文件

您可能會考慮使用的另一個工具是Search Regex

WordPress外掛-Search Regex

WordPress外掛-Search Regex

雖然它足以執行基本的搜尋和替換任務,包括批量更新URL和內容,但該外掛不如Better Search Replace流行或廣泛使用。儘管如此,它仍然是一個積極維護且評價良好的工具,可以完成工作,並且易於使用。

您可以從WordPress外掛庫下載任一解決方案。或者,您可以在WordPress儀表盤中的外掛>安裝外掛下搜尋它們。

2.使用PHP指令碼Search Replace DB

您可能不想在您的WordPress網站上安裝此類外掛。如果是這樣,您可以執行WordPress搜尋和替換的另一種方法是使用來自interconnect/it的免費PHP指令碼-Search Replace DB

interconnect/it網站

interconnect/it網站

請務必注意,如果您不知道自己在做什麼,則使用此指令碼可能會破壞您的WordPress網站。如果您對這種方法不滿意,請先諮詢開發人員或您的網路託管服務商。

該指令碼自2011年以來一直存在,開發人員積極更新它。要使用該指令碼,只需下載zip檔案,解壓縮名為“search-replace-db-master”的資料夾,並將其重新命名為您選擇的名稱。

在我們的示例中,我們將其重新命名為“update-db-1551”:

上傳搜尋和替換指令碼

上傳搜尋和替換指令碼

接下來,通過FTP或SFTP將檔案上傳到您的Web伺服器的公共目錄。這通常與包含您的/wp-content 資料夾的目錄相同。然後在瀏覽器中導航到您的私密資料夾,例如“https://domain.com/update-db-1551”。

該指令碼將自動嘗試查詢並填充資料庫欄位。但是,您必須檢查以確保詳細資訊正確無誤,並且它們是您希望對其執行搜尋和替換操作的資料庫的正確資訊。

您可以先單擊dry run以檢視指令碼將更新或替換的內容。準備好後,選擇live run,它將執行資料庫更新和WordPress搜尋和替換:

在WordPress資料庫上執行搜尋和替換

在WordPress資料庫上執行搜尋和替換

此外,出於安全原因,完成後刪除此指令碼非常重要!您可以選擇delete me按鈕來執行此操作。

如果您不這樣做,它可能會使您的網站容易受到攻擊。最好再次檢查您的Web伺服器以確認資料夾和指令碼已被完全刪除。

3. 使用WP-CLI直接執行搜尋和替換

您可以用來執行WordPress搜尋和替換的另一種方法是直接使用WP-CLI進行。這是WordPress開發人員的一個選項。

以下是該命令的示例:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
wp search-replace 'http://example.dev' 'http://example.com' --precise --recurse-objects --all-tables
wp search-replace 'http://example.dev' 'http://example.com' --precise --recurse-objects --all-tables
wp search-replace 'http://example.dev' 'http://example.com' --precise --recurse-objects --all-tables

您可以在官方WP-CLI文件中閱讀有關wp search-replace命令可用引數的更多資訊。您可能還想檢視此高階搜尋並替換WP-CLI指南

4. 使用phpMyAdmin執行查詢和替換MySQL查詢

如果您習慣於使用程式碼並且不想使用外掛在您的WordPress資料庫中執行搜尋和替換,您也可以在phpMyAdmin中使用MySQL查詢。但是,這隻能由專業的WordPress開發人員完成。

如果您的託管服務提供商使用cPanel,那麼您可以瀏覽並選擇Databases下的phpMyAdmin

來自cPanel“資料庫”部分的PhpMyAdmin

來自cPanel“資料庫”部分的PhpMyAdmin

寶塔使用者可以直接從寶塔儀表盤訪問phpMyAdmin。點選左側的資料庫選單,然後找到對應站點的資料庫,點選“管理”:

寶塔儀表盤中的phpMyAdmin入口

寶塔儀表盤中的phpMyAdmin入口

將開啟一個帶有phpMyAdmin登入頁面的新選項卡。輸入您的資料庫使用者名稱和密碼,然後選擇Go

phpMyAdmin登入頁面

phpMyAdmin登入頁面

訪問phpMyAdmin後,找到資料庫的名稱。如果您在這方面需要幫助,請導航到您的檔案管理器。在public_html或者www/yourdomain資料夾下,開啟您的wp-config.php檔案,並查詢顯示為“define(‘DB_NAME’,’Database Name’);”的行。

接下來,從 phpMyAdmin 中,選擇SQL選項卡:

phpMyAdmin中的“SQL”選項卡

phpMyAdmin中的“SQL”選項卡

新增以下程式碼片段:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
update TABLE_NAME set FIELD_NAME = replace(FIELD_NAME, 'Text to search, 'Text to replace it with');
update TABLE_NAME set FIELD_NAME = replace(FIELD_NAME, 'Text to search, 'Text to replace it with');
update TABLE_NAME set FIELD_NAME = replace(FIELD_NAME, 'Text to search, 'Text to replace it with');

然後單擊Go按鈕執行SQL查詢。該過程完成後,它將顯示一條成功訊息,指示已更改例項的數量。您可以訪問您的WordPress站點以確認搜尋和替換成功。

 

小結

無論您是要更新關鍵字還是替換所有帖子中的特定文字,學習如何執行批量搜尋和替換都非常有用。幸運的是,您可以使用多種方法來做到這一點。

我們推薦用於WordPress搜尋和替換的四種辦法包括:

  1. 安裝WordPress搜尋和替換外掛,例如Better Search Replace或Search & Replace。
  2. 使用interconnect/it提供的PHP指令碼-Search Replace DB。
  3. 使用WP-CLI直接執行搜尋和替換。
  4. 使用phpMyAdmin執行MySQL查詢。

評論留言