WPML
Estado
Abierto
Notificado para
WPML SEO 2.1.0
Plugin/tema relacionado
Rank Math SEO
Etiquetas de temática
Compatibility

Resumen del problema

Si está utilizando el plugin Rank Math SEO, específicamente la versión Pro con la función News Sitemap activada, es posible que encuentre un problema en el que las etiquetas <news:language> dentro del archivo news-sitemap.xml muestran incorrectamente el código de idioma del idioma predeterminado del sitio para las entradas en idiomas secundarios.

Solución alternativa

Por favor, asegúrese de tener una copia de seguridad completa de su sitio antes de continuar.


  • Abra el archivo …/wp-content/plugins/seo-by-rank-math-pro/includes/modules/news-sitemap/class-news-sitemap.php.

  • Reemplace:
    		$output .= $this->get_news_publication( $renderer );

  • Por:
    		//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
  • Además, es posible que también necesite deshabilitar el almacenamiento en caché del sitemap. Para ello, puede añadir la siguiente línea al archivo functions.php de su tema:
    add_filter( 'rank_math/sitemap/enable_caching', '__return_false');

Todos los problemas conocidos →