- 상태
- 해결됨
- 보고된 제품
- WPML SEO 2.2.0
- 해결된 버전
- WPML SEO 2.2.2
- 관련 플러그인/테마
- Yoast SEO
- 주제 태그
- Compatibility
문제 개요
Yoast SEO와 WPML SEO를 함께 사용할 때, 숨김 언어의 글이 사이트맵 인덱스에서 올바르게 제외되었음에도 불구하고 숨김 언어에 대한 hreflang 태그가 사이트맵의 소스 코드에 대체 언어 참조로 여전히 표시되는 문제가 발생할 수 있습니다.
임시 해결 방법
계속 진행하기 전에 사이트의 전체 사이트 백업을 완료했는지 확인하세요.
- …/wp-content/plugins/wp-seo-multilingual/classes/Shared/Sitemap/BaseAlternateLangHooks.php 파일을 여세요.
- 59번째 줄에서 시작하는
addAlternateLangData함수를 찾으세요. - 이 줄 다음에:
list( $elements, $getPermalink, $isIndexable ) = $this->getEntryHelpers( $type, $obj );
- 다음 코드 블록을 삽입하세요:
// WPML Workaround for wpmlwpseo-350 - Exclude hidden language posts global $sitepress; $hidden_languages = $sitepress->get_setting( 'hidden_languages', [] ); if ( $elements && !empty($hidden_languages) ) { foreach( $elements as $lang => $element) { if ( in_array( $lang, $hidden_languages ) ){ unset( $elements[$lang] ); } } }