WPML
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');

Toutes les anomalies connues →