- สถานะ
- แก้ไขแล้วโดยผู้พัฒนา
- แก้ไขใน
- 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); }