如何执行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开发人员的一个选项。

以下是该命令的示例:

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”选项卡

添加以下代码片段:

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查询。

评论留言