- 状态
- 已由作者解决
- 解决于
- Meta Box v5.10.17
- 相关插件/主题
- Meta Box
- 主题标签
- Compatibility
问题概述
将 Meta Box 与 WPML 结合使用时,通过 Meta Box 定义的“文章”关系字段不会自动填充翻译后的文章 ID,导致翻译后的文章没有有效的关系。
临时解决方法
在继续操作之前,请确保对您的站点进行了完整备份。
- 将以下代码添加到主题的 functions.php 文件中。
add_filter( 'rwmb_meta', 'compsupp_8073_translate_parent_post_id', 10, 4 ); function compsupp_8073_translate_parent_post_id( $value, $key, $args, $post_id ) { if ( $key === 'parent_post' && ! empty( $value ) && is_numeric( $value ) ) { $current_lang = apply_filters( 'wpml_current_language', null ); $value = apply_filters( 'wpml_object_id', $value, 'parent-post', true, $current_lang ); } return $value; }
- 将
'parent_post'替换为用于该关系的实际 Meta Box 字段名称。