- 状态
- 已由作者解决
- 解决于
- Unlimited Elements for Elementor 2.0.5
- 相关插件/主题
- Unlimited Elements for Elementor
- 主题标签
- Compatibility, Elementor Custom Widgets
问题概述
当与 WPML 和 Yoast SEO 一起使用来自 Unlimited Elements for Elementor 的 Posts List Element 时,该模块在翻译中不会显示 Yoast 主要分类。而是显示该文章所属的第一个分类(按字母顺序排列)。
临时解决方法
在继续操作前,请确保已对您的站点进行完整站点备份。
- 打开 …/wp-content/plugins/unlimited-elements-for-elementor/provider/provider_params_processor.class.php 文件。
- 在第 574 行查找
getPostMainCategory函数。 - 替换:
/** * get post main category from the list of terms */ private function getPostMainCategory($arrTerms, $postID){ //get term data if(count($arrTerms) == 1){ //single $arrTermData = UniteFunctionsUC::getArrFirstValue($arrTerms); return($arrTermData); } $arrMeta = UniteFunctionsWPUC::getPostMeta($postID,true); $mainCategoryID = UniteFunctionsUC::getVal($arrMeta, "_yoast_wpseo_primary_category"); if(empty($mainCategoryID)) $mainCategoryID = UniteFunctionsUC::getVal($arrMeta, "rank_math_primary_category"); if(empty($mainCategoryID)){ unset($arrTerms["uncategorized"]); $arrTermData = UniteFunctionsUC::getArrFirstValue($arrTerms); return($arrTermData); }
- 替换为:
/** * get post main category from the list of terms */ private function getPostMainCategory($arrTerms, $postID){ //get term data if(count($arrTerms) == 1){ //single $arrTermData = UniteFunctionsUC::getArrFirstValue($arrTerms); return($arrTermData); } $arrMeta = UniteFunctionsWPUC::getPostMeta($postID,true); $mainCategoryID = UniteFunctionsUC::getVal($arrMeta, "_yoast_wpseo_primary_category"); if(empty($mainCategoryID)) $mainCategoryID = UniteFunctionsUC::getVal($arrMeta, "rank_math_primary_category"); // WPML Workaround for compsupp-8023 if (!empty($mainCategoryID)) { $mainCategoryID = apply_filters('wpml_object_id', $mainCategoryID, 'category', true); } if(empty($mainCategoryID)){ unset($arrTerms["uncategorized"]); $arrTermData = UniteFunctionsUC::getArrFirstValue($arrTerms); return($arrTermData); }