WPML
상태
미해결
보고된 제품
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');

알려진 모든 문제 →