- 상태
- 미해결
문제 개요
기본 WordPress 함수인 has_category는 번역된 글에서 작동하지 않습니다.
이에 대한 예시는 다음과 같습니다.
- 영어 슬러그가 “test”이고 프랑스어 번역이 “test-fr”인 카테고리가 있습니다.
- 이 카테고리가 글에 지정되어 있습니다.
- 테마의 single.php 파일 내 루프에서 has_category(”test”)를 호출하면 기본 언어에서는 true를 반환하지만 번역에서는 false를 반환합니다.
임시 해결 방법
테마의 functions.php 파일에 새 필터를 정의하세요:
function wp_has_category ($category) {
$category = get_term_by('name', $category, 'category');
return has_category($category);
}
add_filter('wp_has_category', 'wp_has_category', 10, 1);
has_category 함수를 이 새 필터로 교체하세요:
apply_filters( 'wp_has_category', 'test' )
이 필터는 원본 카테고리의 이름을 기반으로 번역된 카테고리를 가져와 번역된 카테고리가 글에 할당되었는지 확인합니다.