域名更改后插件无法更新时

将网站名称从 blog.cooss.net 更改为 cooss.net 后,在更新插件时出现了如下错误。

在 ... /wp-admin/includes/class-wp-filesystem-direct.php 第 173 行中,操作不允许

域名更改按照以下步骤进行。

新的域名必须与当前安装 WordPress 的文件夹正确连接。否则,可能无法访问 WordPress 管理页面,造成困扰。

域名更改

要更改 WordPress 网站的域名,需要遵循几个步骤。在更改域名时,必须准确修改数据库和 WordPress 设置,以确保网站正常运行,以下方法供您参考。

1. 数据库备份

在开始域名更改操作之前,建议备份数据库和文件。WordPress 数据库包含重要数据,因此在出现问题时可以恢复。

2. 修改 wp-config.php 文件

打开 wp-config.php 文件,添加或修改以下两行以指定新的域名。

define('WP_HOME', 'https://newdomain.com');
define('WP_SITEURL', 'https://newdomain.com');

这样,WordPress 将默认设置为访问新的域名。
(将 newdomain.com 部分更改为新的域名地址即可。)

3. 数据库内 URL 更改

WordPress 将域名 URL 存储在数据库中,因此需要将现有 URL 更改为新的域名。

使用以下 SQL 查询在 wp_options 表中修改 URL。 wp_ 是默认表前缀,如果不匹配,请检查并修改表前缀。

sql复制编辑UPDATE wp_options SET option_value = replace(option_value, 'https://olddomain.com', 'https://newdomain.com') WHERE option_name = 'home' OR option_name = 'siteurl';

此外,wp_postswp_postmeta 等表中也可能使用 URL,因此建议在所有表中批量更改 URL。

示例查询:

sql复制编辑UPDATE wp_posts SET guid = replace(guid, 'https://olddomain.com','https://newdomain.com');
UPDATE wp_posts SET post_content = replace(post_content, 'https://olddomain.com', 'https://newdomain.com');
UPDATE wp_postmeta SET meta_value = replace(meta_value,'https://olddomain.com','https://newdomain.com');

此操作可以通过数据库管理工具(例如 phpMyAdmin)或 WordPress CLI 执行。

4. 使用搜索和替换插件(可选)

为了批量更改数据库中的 URL,也可以使用 Better Search Replace 等插件。通过该插件,可以在所有表中查找并更改特定 URL。

5. 更新缓存和固定链接设置

更改后,建议清除网站缓存,并在 WordPress 管理界面中进入 设置 > 固定链接 菜单,重新保存固定链接设置。这有助于反映新的 URL 结构并防止链接错误。

6. 通知 Google 和外部服务域名更改

网站的域名更改后,需要在 Google 搜索控制台、Google Analytics 等外部服务中注册并通知新域名。通过这样做,可以将对 SEO 的影响降到最低。

按照上述步骤,WordPress 网站的域名更改将完成。

域名更改已成功,以上内容中只需完成 2) 的步骤,网站就可以成功连接到更改后的域名。但是,上传的图像文件等的地址仍然保存为旧域名地址,因此如果不再使用旧域名或连接到其他服务器,图像将无法显示。因此,建议执行其余的数据库操作。完成所有数据库操作后,2) 的更改将不再需要,因此可以删除(保留也无妨)。

插件更新问题解决

现在我在寻找导致插件更新不成功的原因。

可能有多种原因,但就我而言,临时工作保存的数据似乎是问题所在。

在 mysql 中执行以下删除临时数据的查询后,插件更新问题也得到了解决。

DELETE FROM wp_options WHERE option_name LIKE '_transient_%';
DELETE FROM wp_options WHERE option_name LIKE '_site_transient_%';

Updated : February 21, 2025
{{ reviewsTotal }}{{ options.labels.singularReviewCountLabel }}
{{ reviewsTotal }}{{ options.labels.pluralReviewCountLabel }}
{{ options.labels.newReviewButton }}
{{ userData.canReview.message }}
This site is registered on wpml.org as a development site. Switch to a production site key to remove this banner.