WPML
الحالة
مفتوحة
أُبلغ عنها لـ
WPML SEO 2.1.0
الإضافة/القالب ذو الصلة
Rank Math SEO
وسوم الموضوع
Compatibility

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

إذا كنت تستخدم إضافة Rank Math SEO، وتحديداً الإصدار Pro مع تمكين ميزة خريطة الموقع للأخبار، فقد تواجه مشكلة حيث تعرض وسوم <news:language> داخل ملف news-sitemap.xml رمز اللغة الخاص باللغة الافتراضية للموقع بشكل غير صحيح للمقالات باللغات الثانوية.

حل بديل مؤقت

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


  • افتح الملف …/wp-content/plugins/seo-by-rank-math-pro/includes/modules/news-sitemap/class-news-sitemap.php.

  • استبدل:
    		$output .= $this->get_news_publication( $renderer );

  • بـ:
    		//start WPML workaround
    		global $sitepress;
    		remove_filter(
    			'get_pages',
    			[ $sitepress, 'get_pages_adjust_ids' ],
    			1
    		);
    		$my_post_language_details = apply_filters( 'wpml_post_language_details', NULL, url_to_postid($url["loc"]) );
    		$xmlString = $this->get_news_publication( $renderer );
    		$pattern = '/(<news:language>)[^<>]*(</news:language>)/i';
    		$replacement = '${1}'. $my_post_language_details["language_code"] .'$2';
    		$modifiedXmlString = preg_replace($pattern, $replacement, $xmlString);
    		$output .= $modifiedXmlString;
    		//end WPML workaround
  • بالإضافة إلى ذلك، قد تحتاج أيضاً إلى تعطيل التخزين المؤقت لخريطة الموقع. للقيام بذلك، يمكنك إضافة السطر التالي إلى ملف functions.php في قالبك:
    add_filter( 'rank_math/sitemap/enable_caching', '__return_false');

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