안녕하세요 평소에 케이보드를 이용해 커뮤니티 사이트를 이용하는 한 유저입니다.
최근에 일정수의 추천수와 조횟수를 기록하면 게시물이 베스트 게시물 게시판으로 이동되는 기능을 구현했습니다.
문제는 이 게시물의 원래 링크를 클릭하면
"이 게시글은 이동되었습니다."
라 문구가 뜨는데 이것을
"이 게시글은 베스트/마스터 게시판으로 이동되었습니다."
라고 수정을 하려고 했습니다.
그래서 kboard-ko_KR.po의 내용을 아래와 같이 변경하였는데 반영이 안되었습니다.
```
#: class/KBoardBuilder.class.php:400 class/KBoardBuilder.class.php:584
#: class/KBoardBuilder.class.php:762 class/KBoardBuilder.class.php:852
#: class/KBoardBuilder.class.php:985
msgid "This post has been moved."
msgstr "이 게시글은 베스트/마스터 게시판으로 이동되었습니다."
```
혹시 문구를 변경하는 방법중 다른 방법은 없을까요?
안녕하세요~^^
버전이 업데이트되면서 허가되지 않은 다른 게시판에서 게시글을 불러오는 것을 차단하는 코드가 추가되었습니다.
게시판마다 권한 설정이 다른데 게시글을 그냥 불러올 수 있다면 문제가 발생될 수 있기 때문입니다.
아래 코드를 테마의 functions.php 파일에 추가를 해주시겠어요?
add_filter('kboard_allowed_board_id', 'kboard_allowed_board_id_20200811', 10, 2);
function kboard_allowed_board_id_20200811($allowed_board_id, $board_id){
if($allowed_board_id == '3'){ // 베스트 게시판
$allowed_board_id = array('3', '1', '2'); // 자신과 다른 게시판의 ID값을 입력
}
else if($allowed_board_id == '4'){ // 베스트 오브 베스트 게시판
$allowed_board_id = array('4', '1', '2'); // 자신과 다른 게시판의 ID값을 입력
}
return $allowed_board_id;
}
워드프레스 관리자 -> 테마 디자인 -> 테마 편집기 메뉴에서 functions.php 파일을 편집할 수 있습니다.
말씀하신 것처럼 해당 안내창 문구를 변경하는 건
아래의 코드를 적용해보시겠어요?
add_action('kboard_skin_header', 'kboard_skin_header_20200811', 10, 1);
function kboard_skin_header_20200811($builder){
$board = $builder->board;
if($board->id == '1'){ // 실제 게시판 id로 적용해주세요.
add_filter('gettext', 'gettext_20200811', 10, 3);
}
}
function gettext_20200811($translated_text, $text, $domain){
if($domain == 'kboard' && $translated_text == '이 게시글은 이동되었습니다.'){
$translated_text = '이 게시글은 베스트/마스터 게시판으로 이동되었습니다.';
}
return $translated_text;
}
위의 코드에서 $board->id == '1' 부분은 실제 게시판 id로 적용해주세요.
고맙습니다.