WordPress迁移后仅首页Logo指向旧域名的问题排查求助
直接清理QuadMenu的数据库配置残留
WordPress插件卸载默认不会删除wp_options表中的插件配置,这就是你卸载重装QuadMenu后旧域名依然存在的原因。可以通过以下方式修改:
- 使用WP-CLI执行命令(替换
旧域名和新域名):# 先验证旧域名是否存在于配置中 wp option get quadmenu_options | grep "旧域名" # 替换旧域名并更新配置 wp option get quadmenu_options | sed 's/旧域名/新域名/g' | wp option set quadmenu_options - - 或者通过phpMyAdmin操作:
- 打开
wp_options表,搜索option_name包含quadmenu的条目(通常为quadmenu_options) - 编辑
option_value字段,将所有旧域名替换为新域名后保存
- 打开
检查QuadMenu后台的自定义Logo链接设置
进入QuadMenu的导航配置面板,查看是否存在自定义Logo链接选项(部分主题或插件会单独提供该设置,而非直接调用home_url()),如果有,直接修改为新域名并保存。
强制刷新插件配置缓存
部分插件会将配置缓存到文件或内存中,即使数据库修改也不会立即生效:
- 进入QuadMenu的设置页面,随意修改一个无关选项(比如调整Logo大小)并保存,触发配置重新生成
- 如果站点启用了对象缓存,清空缓存;或者删除
wp-content/cache目录下QuadMenu相关的缓存文件
排查多语言插件残留配置
虽然你确认pll_home_url和wpml_get_home_url未定义,但如果站点曾经使用过多语言插件(Polylang/WPML),可能残留了相关配置:
- 在
wp_options表中搜索home_url相关的多语言选项(比如wpml_home_url、polylang_home),如果存在旧域名,直接修改为新域名
临时过滤修正链接(终极方案)
如果以上方法都无效,可以通过WordPress的钩子强制修正Logo链接:
将以下代码添加到主题的functions.php文件,或使用代码片段插件导入:
add_filter('quadmenu_navbar_logo_link', function($link) { // 替换为你的旧域名和新域名 return str_replace('https://old-domain.com', 'https://new-domain.com', $link); });
内容的提问来源于stack exchange,提问作者tonsteri
相关产品推荐
相关产品推荐

