KBoard 버전 : 게시판 플러그인 5.4.2, 댓글 플러그인 4.5
스킨 : Ask One (최신버전 구매)
'저장하기' 버튼을 수정하는 코드가 다음과 같다고 하여 사용하고 있습니다.
add_filter('gettext', 'my_text_strings', 10, 3);
function my_text_strings($translated_text, $text, $domain){
if($domain == 'kboard' && $translated_text == '저장하기'){
$translated_text = '제출하기';
}
return $translated_text;
}
그런데, 문제는 사이트에 게시판에 여러개라서 저장하기 버튼을 '제출하기', 'Submit' 이렇게 게시판에 따라 다르게 출력하려고 합니다.
즉, 위와 같이 하면 게시판 2개 모두 저장하기 버튼이 '제출하기'라고 나옵니다.
그래서, If 조건문으로 출력하려고 하면 2개 모두 전혀 변경되지 않습니다.
add_filter('gettext', 'my_text_strings', 10, 3);
function my_text_strings($translated_text, $text, $domain){
if($board->id == '2'){
if($domain == 'kboard' && $translated_text == '저장하기'){
$translated_text = '제출하기';
}
}
if($board->id == '4'){
if($domain == 'kboard' && $translated_text == '저장하기'){
$translated_text = 'submit';
}
}
return $translated_text;
}
코드 수정 후 페이지가 정상적으로 표시되지 않는다면
디버그 모드를 활성화해서 에러 메시지가 표시되는지 확인해보시겠어요?
고맙습니다.
답변 감사합니다.
그런데 위의 코드를 추가하니 기존에 잘 동작하던 페이지가 아예 뜨지를 않습니다.
"페이지가 작동하지 않습니다. 요청을 처리할 수 없습니다. HTTP ERROR 500"
위와 같은 오류가 납니다.
안녕하세요~^^
워드프레스 gettext 필터를 활용해서
KBoard 플러그인 문구를 수정할 때 게시판 별로 설정하시려면
아래의 코드를 활용해보시겠어요?
add_action('kboard_skin_header', 'my_kboard_skin_header', 10, 1);
function my_kboard_skin_header($builder){
$board = $builder->board;
if($board->id == '1'){ // 실제 게시판 id로 적용해주세요.
add_filter('gettext', 'my_text_strings', 999, 3);
}
else if($board->id == '4'){ // 실제 게시판 id로 적용해주세요.
add_filter('gettext', 'my_text_strings2', 999, 3);
}
}
function my_text_strings($translated_text, $text, $domain){
if($domain == 'kboard'){
switch($translated_text){
case '저장하기': $translated_text = '제출하기'; break;
}
}
return $translated_text;
}
function my_text_strings2($translated_text, $text, $domain){
if($domain == 'kboard'){
switch($translated_text){
case '저장하기': $translated_text = 'submit'; break;
}
}
return $translated_text;
}
고맙습니다.