Polylang无法识别Duplicate Page插件生成内容的问题求助
解决Polylang页面单向关联的问题
我碰到过好几个用户遇到和你一模一样的问题——用Duplicate Page复制页面再改语言,结果Polylang的关联变成了单向的:原英文页面显示有德语版本,但德语页面找不到对应的英文页面。这本质是第三方复制插件没同步Polylang的双向关联元数据,咱们一步步来解决:
方法1:用Polylang自带面板重新建立双向关联(最推荐)
这是最稳妥的操作,不需要碰数据库:
- 打开你的英文页面编辑器,找到右侧的Polylang语言设置面板(如果看不到,点右上角的「选项」按钮,勾选「语言」就能显示)
- 在「翻译」区域,你会看到已经关联的德语页面,先点击「移除」解除当前的单向关联
- 接着点击「选择」,从弹出的页面列表里找到你复制好的德语页面,选中后保存英文页面
- 现在回到德语页面的编辑器,检查右侧Polylang面板,正常情况下已经自动关联上英文页面了;如果还没显示,手动在德语页面的「翻译」区域选择对应的英文页面,保存即可
方法2:手动修复数据库元数据(适合有数据库操作基础的用户)
如果方法1没生效,大概率是数据库里的关联记录缺失了:
- 打开你的WordPress数据库管理工具(比如phpMyAdmin),找到
wp_postmeta表(注意你的数据库前缀可能不是wp_,以实际为准) - 搜索原英文页面的
post_id,找到meta_key为_pll_post_translations的记录,它的值是一个序列化数组,格式类似:a:2:{s:2:"en";i:123;s:2:"de";i:456;}(其中123是英文页面ID,456是德语页面ID) - 再搜索德语页面的
post_id对应的_pll_post_translations记录,确保它的数组内容和英文页面的完全一致,同时包含两个语言的页面ID - 如果德语页面的这条记录缺失或者内容错误,手动添加/修改成和英文页面一致的序列化数组,保存即可
方法3:换用Polylang官方复制方式,从根源避免问题
下次创建翻译页面时,别用Duplicate Page了,直接用Polylang自带的功能,能自动建立双向关联:
- 在页面概览列表里,把鼠标 hover 在英文页面上,会出现对应德语的「+」图标,点击它就能直接生成关联的德语页面,自动继承原页面内容和双向关联
- 或者在英文页面编辑器的Polylang面板里,点击「翻译」区域的「添加」按钮,直接创建关联的德语页面,这样出来的页面天生就是双向关联的,不会再出问题
内容的提问来源于stack exchange,提问作者K. Naví Phifer
相关产品推荐
相关产品推荐

