- 상태
- 해결됨
- 유형
- 버그
- 보고 대상
- WPML SEO 2.1.0
- 해결된 버전
- 2.2.0
- 관련 플러그인/테마
- Rank Math SEO
- 주제 태그
- Compatibility
문제 개요
URL 형식으로 언어당 개별 도메인 을 사용하는 경우, 사이트맵에는 언어별 카테고리나 제품 카테고리가 표시되지 않습니다. 대신 모든 언어의 콘텐츠를 표시합니다.
임시 해결 방법
진행하기 전에 사이트를 전체 백업하세요:
- 테마의 functions.php 파일에 다음 코드를 추가하세요:
/* * WPML Workaround for compsupp-6571 */ add_filter('rank_math/sitemap/entry', 'wpml_compsupp6571_remove_sitemap_entry_from_different_domain', 10, 3); function wpml_compsupp6571_remove_sitemap_entry_from_different_domain ( $url, $type, $object ) { if (! class_exists('SitePress') || apply_filters( 'wpml_setting', false, 'language_negotiation_type' ) != 2 ) { return $url; } $current_language = apply_filters( 'wpml_current_language', NULL ); if ($type == 'post') { $post_language_details = apply_filters( 'wpml_post_language_details', NULL, $object->ID ) ; if ( isset($post_language_details['language_code']) && $post_language_details['language_code'] != $current_language) { return false; } } elseif ($type == 'term') { $args = array('element_id' => $object->term_taxonomy_id, 'element_type' => $object->taxonomy ); $term_language_details = apply_filters( 'wpml_element_language_details', NULL, $args ) ; if (isset($term_language_details->language_code) && $term_language_details->language_code != $current_language) { return false; } } return $url; } - Rank Math → 사이트맵 설정으로 이동하세요.
- 사이트맵당 링크 옵션을 수정하고 변경 사항을 저장하세요.
- 설정 → 고유주소 로 이동하여 저장하세요. 그러면 고유주소가 다시 생성됩니다.
- 사이트맵을 확인하세요. 각 도메인에는 현재 언어와 관련된 콘텐츠만 표시되어야 합니다.