WPML
状态
已解决
报告针对
WPML Multilingual CMS 4.6.9
解决于
WPML 4.9.3
主题标签
Bug

问题概述

在某些情况下,使用自定义页面模板时,所选模板未正确应用于翻译页面。

临时解决方法

要确保自定义页面模板正确应用于已翻译的页面,请执行以下步骤:


  • wp_postsicl_translations 表中删除相关条目。
或者

  • 使用顶部管理栏切换到次要语言,然后转到外观 > 编辑器,找到已翻译的模板并将其删除。

  • WPML > 设置 > 页面 URL 中,为别名翻译启用“翻译”(这可确保模板别名包含在翻译中,而不是根据标题自动生成)。

  • 打开文件:wp-content/plugins/sitepress-multilingual-cms/classes/full-site-editing/BlockTemplates.php

  • 第 56 行左右,注释掉以下代码行:
    $postData['post_name'] = $post->post_name;


  • 重新发送模板以进行翻译。

  • 翻译模板时,请确保别名正确并包含已翻译的页面或分类法别名。

边界情况


在特定的顺序下,已翻译的页面可能无法与已翻译的模板关联:

  • 如果在创建新页面时直接创建新的自定义模板(通过在右侧边栏中选择“模板 > 创建新模板”),则页面及其模板将同时发布

  • 如果启用了自动翻译(“翻译所有内容”),WPML 会同时将页面和模板发送以进行翻译。

  • 如果页面翻译在模板翻译之前完成,则要分配的已翻译模板尚不存在。因此,已翻译的页面最终将使用默认模板。

  • 要解决此问题,请在模板翻译完成并发布后,重新发送已翻译的页面以进行翻译,以便它能正确接收新翻译的模板。

所有已知问题 →