- Stato
- Aperto
- Segnalato per
- WPML SEO 2.1.0
- Plugin/tema correlato
- Rank Math SEO
- Tag dell’argomento
- Compatibility
Panoramica del problema
Se stai usando il plugin Rank Math SEO, in particolare la versione Pro con la funzionalità News Sitemap abilitata, potresti riscontrare un problema in cui i tag <news:language> all’interno del file news-sitemap.xml mostrano in modo errato il codice della lingua predefinita del sito per gli articoli nelle lingue secondarie.
Soluzione alternativa
Assicurati di avere un backup completo del tuo sito prima di procedere.
- Apri il file …/wp-content/plugins/seo-by-rank-math-pro/includes/modules/news-sitemap/class-news-sitemap.php.
- Sostituisci:
$output .= $this->get_news_publication( $renderer );
- Con:
//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 - Inoltre, potrebbe essere necessario disabilitare la cache della sitemap. Per farlo, puoi aggiungere la seguente riga al file functions.php del tuo tema:
add_filter( 'rank_math/sitemap/enable_caching', '__return_false');