- 状态
- 已解决
- 解决于
- 3.6.3
问题概述
Enfold 的页面构建器在自定义字段 _aviaLayoutBuilderCleanData 中保留内容的原始副本,其显示取决于其他一些自定义字段。因此,在某些情况下,某些页面构建器元素可能无法正确渲染。
临时解决方法
此问题将在 WPML 的未来版本中得到解决。同时,我们建议采用以下解决方案:
- 前往 WPML -> 翻译管理页面,然后单击多语言内容设置 选项卡。在那里,前往自定义字段翻译部分。
- 单击显示系统字段。
- 按如下方式设置自定义字段:
- _aviaLayoutBuilder_active => 复制
- _avia_builder_shortcode_tree => 复制
- _aviaLayoutBuilderCleanData => 不翻译
在某些情况下,某些简码可能无法在翻译时被正确解析,因此请将以下代码片段添加到主题的 functions.php 文件中:
function wpmlcore_3937_fix_for_enfold_page_builder( $post_ID, $post ) {
if ( class_exists( 'WPML_Compatibility_Theme_Enfold' ) ) {
return;
}
$page_builder_active = get_post_meta( $post_ID, '_aviaLayoutBuilder_active', true );
$page_builder_shortcode_tree = get_post_meta( $post_ID, '_avia_builder_shortcode_tree', true );
if ( $page_builder_active && $page_builder_shortcode_tree ) {
update_post_meta( $post_ID, '_aviaLayoutBuilderCleanData', $post->post_content );
}
}
add_action( 'wp_insert_post', 'wpmlcore_3937_fix_for_enfold_page_builder', 10, 2 );
如果问题仍然存在,请在支持论坛上提交工单。