WPML
الحالة
محلولة بواسطة المطور
أُبلغ عنها لـ
WPML SEO 2.0.1

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

هذه مشكلة عامة في Yoast SEO (ليست خاصة بـ WPML) وقد أُبلغ عنها هنا.

إذا كنت تضبط تنسيق عناوين URL لعرض اللغة كمُعامل في WPMLاللغات، فستلاحظ أن الصفحات باللغات الثانوية المقسّمة إلى صفحات ستعرض رابطاً أساسياً غير صحيح.

حل بديل مؤقت

يُرجى إنشاء نسخة احتياطية كاملة لموقعك قبل المتابعة. ثم أضف الكود التالي في ملف القالب functions.php:

 
// define the wpseo_canonical callback 
function wpmldp_filter_wpseo_canonical_lang_parameter_position( $canonical ) { 
        // decode URL
        $canonical = urldecode($canonical);
	
	// get current language
	$my_current_lang = apply_filters( 'wpml_current_language', NULL );
	
	// define ?lang parameter
	$param = '?lang='.$my_current_lang;
	
	// check if current $canonical contains the parameter
	if(strpos($canonical, $param) !== false){
		
		// remove the parameter from URL
		$canonical = str_replace('/'.$param, "", $canonical);
		
		// add it again
		$canonical = $canonical.$param;
	}	
	
    return $canonical; 
}; 
         
// add the filter 
add_filter( 'wpseo_canonical', 'wpmldp_filter_wpseo_canonical_lang_parameter_position', 999 ); 

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