WPML
الحالة
محلولة بواسطة المطور
أُبلغ عنها لـ
WPML SEO 2.1.0
تم حلها في
SEOPress 8.4
الإضافة/القالب ذو الصلة
SEOPress
وسوم الموضوع
Compatibility

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

عند استخدام إضافة SEOPress مع WPML، لا تُترجم المعرّفات النصية لروابط أرشيف المنتجات بشكل صحيح في خرائط الموقع XML التي تنشئها SEOPress.

حل بديل مؤقت

يُرجى التأكد من أخذ نسخة احتياطية كاملة لموقعك قبل المتابعة.


  • افتح الملف …/wp-content/plugins/wp-seopress/templates/sitemap/single.php.

  • ابحث عن السطر 41.

  • استبدل:
    // WPML Workaround
    if (class_exists('SitePress')) {
    	if ( 2 != apply_filters( 'wpml_setting', false, 'language_negotiation_type' ) ) {
    		$original_language = apply_filters( 'wpml_current_language', NULL );
    		$language_list = apply_filters( 'wpml_active_languages', NULL, 'orderby=id&order=desc' );
    
    		if (!empty($language_list)) {
    			foreach ($language_list as $key => $language_infos ) {
    				if ($original_language != $language_infos['language_code']) {
    
    					// Switch Language
    					do_action( 'wpml_switch_language', $language_infos['language_code']);
    
    					$archive_links[] = htmlspecialchars(urldecode(user_trailingslashit(get_post_type_archive_link($path))));
    
    					// Restore language to the original
    					do_action( 'wpml_switch_language', $original_language);
    				}
    			}
    		}
    	}

  • بـ:
    // WPML Workaround for compsupp-7538 and compsupp-6419
    if ( class_exists('SitePress' )) {
    	if ( 2 != apply_filters( 'wpml_setting', false, 'language_negotiation_type' ) ) {
    		$original_language = apply_filters( 'wpml_current_language', NULL );
    		$language_list = apply_filters( 'wpml_active_languages', NULL, 'orderby=id&order=desc' );
    
    		if (!empty($language_list)) {
    			foreach ($language_list as $key => $language_infos ) {
    				if ($original_language != $language_infos['language_code']) {
    					// Switch Language
    					do_action( 'wpml_switch_language', $language_infos['language_code']);
    
    					if ( $path == 'product' && function_exists('wc_get_page_id') ) {
    						$shop_page_id = wc_get_page_id('shop');
    						$archive_links[] = 	htmlspecialchars(urldecode(user_trailingslashit(get_permalink($shop_page_id))));
    					} else {
    						$archive_links[] = htmlspecialchars(urldecode(user_trailingslashit(get_post_type_archive_link($path))));	
    					}
    
    					// Restore language to the original
    					do_action( 'wpml_switch_language', $original_language);
    				}
    			}
    		}
    	}
    }

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