WordPress固定链接显示已更新但仍指向旧链接(WPML相关)
问题现象
创建分类/品牌(如Antica Barbieria Colla)并设置别名为/antica-barbieria-colla-2/时,访问对应链接正常;修改别名为/antica-barbieria-colla/后:
- 旧链接返回404(符合预期),新链接可正常打开分类归档页
- 后台「查看」按钮、后台菜单及前端所有入口仍指向旧别名链接
- 清除缓存、重置固定链接无效,关闭WPML后问题消失,但该插件为网站必需工具
排查与解决方案
同步WPML分类别名翻译
WPML会为多语言分类存储独立的别名配置,主语言分类别名修改后,其他语言版本的别名可能未同步,或WPML缓存未更新。进入WPML → Taxonomy Translation,找到目标分类,检查所有语言版本的别名是否已更新为新的/antica-barbieria-colla/,手动修改后保存。清理WPML专属缓存
WPML自带URL缓存机制,重置WordPress固定链接不会自动清理该缓存:- 进入
WPML → Support,打开「Troubleshooting」标签页 - 点击「Clear the cache for WPML」按钮,等待缓存清理完成
- 进入
重新同步分类与WPML数据
进入WPML → Settings,在「Post Types Translation」和「Taxonomies Translation」中,确认目标分类法(如Product Category)设置为「Translatable - use translation if available or fallback to default language」,保存设置后重新编辑目标分类并再次保存。手动更新菜单链接
若菜单内的分类链接仍为旧地址,进入Appearance → Menus,删除旧的分类菜单项,重新添加目标分类到菜单,保存后刷新前端验证。清理全链路缓存
若使用Redis、WP Rocket等第三方缓存插件,除清理页面缓存外,还需清理对象缓存、CDN缓存(如有配置),确保所有缓存层都同步新的别名链接。
内容的提问来源于stack exchange,提问作者faqzz

