- الحالة
- مفتوحة
- أُبلغ عنها لـ
- 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');