안녕하세요, 커스터 마이징 문의 드립니다.
1. 현재 컨텐츠몰 카테고리 리스트 스타일을 사용하고 있는데 kboard-list 첫번째 리스트에 (번호 앞) 글 작성시
선택되었던 카테고리가 무엇인지 표현하고 싶은데요.. 예들들어 a,b,c, 카테고리 중 b를 선택하여 글을 작성하였을 때
카테고리 번호 제목 판매가격 작성일 추천 조회
b 1 ★★ 200,000원 2019.1.1 0 25
이런식으로 커스터마이징을 해야합니다..
2. 한/영 페이지로 나누어져 있는데 현재 WPML을 사용하여 번역중입니다..
글쓰기 버튼과 가격에 '원'이 번역되지 않습니다. 번역은 어떻게 하는건가요?
3. 기본으로 표현되는 텍스트를 변경하고 싶은데.. 예를들어 '전체상품'이면 '전체리스트'로 변경해야 하는데
Languages 폴더의 ko_KR.po 파일에서 변경해도 변경되지가 않습니다..
어디서 변경해야 하나요?
도움 부탁드립니다!
도움 부탁드립니다!
안녕하세요~^^
1. KBoard 퍼스트 콘텐츠몰 스킨에서 상품 등록 시 설정한 카테고리를
목록 페이지에서 표시하시려면
FTP로 접속해서 /wp-content/plugins/kboard/skin/사용중인스킨/list-default-style.php 파일에
아래의 코드를 찾아서
<td class="kboard-list-uid"><?php echo __('Number', 'kboard')?></td>
찾은 코드 위에 아래의 코드를 추가해보세요.
<td class="kboard-list-category1"><?php echo __('Category', 'kboard')?></td>
아래의 코드를 찾아서
<td class="kboard-list-uid"><?php echo $list->index()?></td>
찾은 코드 위에 아래의 코드를 추가해보세요.
<td class="kboard-list-category1"><?php echo $content->category1?></td>
모바일 화면에서 가격 앞에 카테고리를 표시하시려면
아래의 코드를 찾아서
<span class="contents-item kboard-price">
찾은 코드 위에 아래의 코드를 추가해보세요.
<?php if($content->category1):?>
<span class="contents-item kboard-category1"><?php echo $content->category1?></span>
<span class="contents-separator kboard-price">|</span>
<?php endif?>
워드프레스 관리자 -> 외모 -> 사용자 정의하기 -> CSS 입력 필드에
아래의 코드를 추가해보세요.
@media screen and (max-width: 600px) {
#kboard-first-contents-mall-list table td.kboard-list-category1 { display: none; }
}
2. 한글 페이지와 영문 페이지 각각 추가하신 건지요?
콘텐츠몰 스킨에서 가격은 기본적으로 원화로 표시하고 있습니다.
kboard_currency_format 필터를 사용하시면 달러, 엔화 등으로 표시하실 수 있습니다.
워드프레스 관리자 -> 외모 -> 테마 편집기 페이지에서
functions.php 파일 하단에
아래의 코드를 추가해보시겠어요?
add_filter('kboard_currency_format', 'my_kboard_currency_format', 10, 2);
function my_kboard_currency_format($format, $board){
if($board->id == '1' && get_the_ID() == '1'){
$format = '$ %s';
}
return $format;
}
위의 코드에서 $board->id == '1' 부분은 실제 게시판 id로 적용해보시고
get_the_ID() == '1' 부분은 실제 페이지 id로 적용해보세요.
위의 코드를 적용하시면 1번 페이지 1번 게시판에서 가격은 $ 10,000 이런 식으로 표시됩니다.
워드프레스에서 페이지 ID를 찾는 방법은 아래 블로그 링크를 확인해주세요.
3. 어느 경로의 번역 파일을 수정하신 건지요?
/wp-content/plugins/kboard/languages 폴더에 있는 번역 파일을 수정하신 후에 확인해보시겠어요?
고맙습니다.
답변 감사드립니다..
우선 카테고리는 수정이 잘 되었습니다. 감사합니다.
2번째 '원' 번역은 통화 변경이 아닌 '원'이라는 단어를 'Won'으로 변경해야 하는건데 제 설명이 부족했던 것 같습니다.
3번의 경우는 그 경로의 번역파일을 정확하게 수정하였음에도 불구하고 변경이 안됩니다.....
'원' 표시를 'Won'으로 교체하시려면
이전 댓글에 안내해드린 코드 중에서
아래의 코드를
$format = '$ %s';
아래의 코드로 교체해보시겠어요?
$format = '%sWon';
번역 파일 수정 후 바로 반영되지 않는 문제는
캐시 관련 문제일 수도 있습니다.
테마나 플러그인 중 캐시 관련 기능이 있다면 비활성화하신 후에 다시 확인해보시겠어요?
브라우저의 캐시도 비우신 후 확인해보세요.
크롬 브라우저에서 강력 새로고침 단축키는 Ctrl + Shift + R 입니다.
고맙습니다.
답변 너무나 감사드립니다..
정확한 경로에 파일을 수정하였고 캐시 부분도 문제가 없는데 변경이 안되네요..
/wp-content/plugins/kboard/languages/kboard-ko_KR.po 파일입니다.
상품등록 -> 글쓰기
msgid "New Product", msgstr "상품등록" <<< '상품등록' 을 '글쓰기'로 바꿨으며 list-default-style.php 파일에는
<li class="kboard-page-new"><a href="<?php echo $url->getContentEditor()?>"><?php echo __('New Product', 'kboard')?></a></li>
New product는 그대로 뒀구요.. 예를들어 list-default-style.php파일의 'New product'를 '글쓰기'로 변경하면 웹에서 글쓰기로 표현이 되지만
영어페이지로 넘어가면 결국 한글로 글쓰기가 나와서 사용할 수 없습니다..
번역 파일이 바로 적용되지 않는 문제는
서버 쪽에서 바로 반영이 되지 않았을 수도 있습니다.
워드프레스 gettext 필터로 문구를 수정해보시겠어요?
워드프레스 관리자 -> 외모 -> 테마 편집기 페이지에서 functions.php 파일 하단에
아래의 코드를 활용해보시겠어요?
add_filter('gettext', 'my_gettext', 10, 3);
function my_gettext($translated_text, $text, $domain){
if($domain == 'kboard'){
switch($translated_text){
case '상품등록': $translated_text = '글쓰기'; break;
case '전체상품': $translated_text = '전체리스트'; break;
default: break;
}
}
return $translated_text;
}
위의 코드를 적용하시면 KBoard 플러그인의 상품등록 문구는 글쓰기로 변경되며
전체상품으로 표시되는 문구는 전체리스트로 표시됩니다.
고맙습니다.