2014-04-04 3 views
1

저는 WPML을 사용하여 WordPress 테마를 번역합니다.
이탈리아어와 영어의 두 가지 범주가 같은 이름입니다. 그래서 WPML (WordPress)은 두 번째 언어 카테고리의 이름 뒤에 @ and the language code을 추가합니다.
이것은 WordPress에서 같은 이름을 가진 두 개의 카테고리가 있기를 원하지 않기 때문입니다.다른 언어로 같은 이름의 카테고리가 있습니까? WPML은`@`을 추가합니다

예 :

분류 언어 1 (이탈리아어) : 바

분류 언어 2 (영어) : 바 @en.

어떻게 @en을 삭제할 수 있습니까?

이 링크가 발견되었습니다. http://wpml.org/forums/topic/same-name-for-categories-in-different-languages/ 하지만 도움이되지 않습니다.

PHP를 변경 했습니까?

제발 도와 주실 수 있습니까? :)

감사합니다.

답변

0

예, PHP를 변경해야합니다. 용어 이름에 "@en"문자열이 표시되는 것은 WPML 필터가 코드를 필터링하지 않는다는 것을 의미합니다. 아마도 용어를 가져 오는 데 사용 된 함수가 WPML의 필터링 된 함수 목록에 없기 때문일 수 있습니다.

그래서 그들을 필터링하는 가장 쉬운 방법은 출력을 생성하기 전에 str_replace()를 사용하는 것입니다. 당신이 wp_get_post_terms를 사용하는 경우

예에서,() 특정 게시물에 대한 용어의 목록을 얻을 수 있습니다 :

$terms = wp_get_post_terms($post->ID, 'your_taxonomy'); 
foreach ($terms as $t) { 
    echo str_replace('@'.ICL_LANGUAGE_CODE, '', $t->name); 
} 
관련 문제