- סטטוס
- נפתר על ידי המפתח
- נפתר בגרסה
- Unlimited Elements for Elementor 2.0.5
- תוסף/ערכת עיצוב קשורים
- Unlimited Elements for Elementor
- תגיות נושא
- Compatibility, Elementor Custom Widgets
סקירה כללית של התקלה
בעת שימוש ב־Posts List Element מ־Unlimited Elements for Elementor עם WPML ו־Yoast SEO, המודול אינו מציג את הקטגוריה הראשית של Yoast בתרגומים. במקום זאת, הוא מציג את הקטגוריה הראשונה (לפי סדר אלפביתי) שהפוסט שייך אליה.
פתרון עוקף
אנא ודא שיש לך גיבוי מלא של האתר לפני שתמשיך.
- פתח את הקובץ …/wp-content/plugins/unlimited-elements-for-elementor/provider/provider_params_processor.class.php.
- חפש את הפונקציה
getPostMainCategoryבשורה 574. - החלף את:
/** * 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); }