- 상태
- 미해결
- 보고된 제품
- WPML SEO 2.1.0
- 관련 플러그인/테마
- Rank Math SEO
- 주제 태그
- Compatibility
문제 개요
Rank Math SEO 플러그인, 특히 News Sitemap 기능이 활성화된 Pro 버전을 사용하는 경우 보조 언어 글에 대해 news-sitemap.xml 파일 내의 <news:language> 태그가 사이트 기본 언어의 언어 코드를 잘못 표시하는 문제가 발생할 수 있습니다.
임시 해결 방법
진행하기 전에 사이트의 전체 백업을 완료했는지 확인하세요.
- …/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');