- Statut
- Ouvert
- Signalé pour
- WPML SEO 2.1.0
- Extension/thème associé
- Rank Math SEO
- Étiquettes de sujet
- Compatibility
Aperçu de l’anomalie
Si vous utilisez l’extension Rank Math SEO, en particulier la version Pro avec la fonctionnalité News Sitemap activée, vous pouvez rencontrer un problème où les balises <news:language> dans le fichier news-sitemap.xml affichent incorrectement le code de la langue par défaut du site pour les articles dans les langues secondaires.
Solution de contournement
Veuillez vous assurer d’avoir une sauvegarde complète de votre site avant de continuer.
- Ouvrez le fichier …/wp-content/plugins/seo-by-rank-math-pro/includes/modules/news-sitemap/class-news-sitemap.php.
- Remplacez :
$output .= $this->get_news_publication( $renderer );
- Par :
//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 - De plus, vous devrez peut-être désactiver la mise en cache du sitemap XML. Pour ce faire, vous pouvez ajouter la ligne suivante au fichier functions.php de votre thème :
add_filter( 'rank_math/sitemap/enable_caching', '__return_false');