WPML

نظرة عامة على المشكلة

عند استخدام 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);
    		}

جميع المشكلات المعروفة