- 状态
- 由作者解决
- 类型
- Bug
- 相关插件/主题
- Ultimate Addons for Elementor
- 主题标签
- Compatibility
问题概述
将 Ultimate Addons for Elementor 与 WPML 搭配使用时,Post Grid Filter 无法在次要语言中显示已翻译的分类项。分类仅以默认语言显示。
临时解决方法
在继续操作之前,请确保已为您的站点创建完整的站点备份。
- 打开 …/wp-content/plugins/ultimate-elementor/modules/posts/template-blocks/skin-style.php 文件。
- 找到第 1088 行。
- 将:
$filter_type = $settings[ $filter_by . '_' . $post_type . '_filter_rule' ]; $filters = $settings[ 'tax_' . $filter_by . '_' . $post_type . '_filter' ];
- 替换为:
$filter_type = $settings[ $filter_by . '_' . $post_type . '_filter_rule' ]; // WPML Workaround for compsupp-7728 if (class_exists('Sitepress')) { $original_terms = $settings[ 'tax_' . $filter_by . '_' . $post_type . '_filter' ]; $translated_terms = []; foreach ($original_terms as $term_slug) { $term_obj = get_term_by('slug', $term_slug, $filter_by ); if ($term_obj) { $translated_term_id = apply_filters('wpml_object_id', $term_obj->term_id, $filter_by , true); $translated_term = get_term($translated_term_id, $filter_by ); if ($translated_term && !is_wp_error($translated_term)) { $translated_terms[] = $translated_term->slug; } } } $settings[ 'tax_' . $filter_by . '_' . $post_type . '_filter' ] = $translated_terms; } $filters = $settings[ 'tax_' . $filter_by . '_' . $post_type . '_filter' ];