1. 정확한 제품 또는 플러그인 이름
케이보드 댓글
2. 상세 내용
https://www.cosmosfarm.com/threads/document/61531?page=2
안녕하세요~
이전 문의글에서 댓글 작성시 특정단어를 태그로 치환하는 아래코드를 추가했습니다.
add_filter('kboard_comments_insert_data', 'kboard_comments_insert_data_1013', 10, 2);
function kboard_comments_insert_data_1013($data, $board_id){
if($board_id == 9){ // 게시판 ID
$comment = $data['content'];
$comment = str_replace('안녕', '<b>안녕</b>', $comment);
$data['content'] = $comment;
return $data;
}
}
그냥 댓글을 작성할때는 잘 작동하는데
댓글 수정하기에서는 코드가 작동하지 않는 거 같습니다.
(1)댓글 수정하기 뿐 아니라 (2)게시글 작성 시에도 적용되게 할 수 있을까요?
3. 확인 가능한 상세 페이지 주소
4. 수정한 코드 내역 (있다면)
kboard_insert_data 필터와 kboard_update_data 필터를 사용하여
적용하실 수 있습니다.
아래 가이드 및 커뮤니티 내의 글들을 참고하여
적용해보시겠어요?
https://www.cosmosfarm.com/products/kboard/hooks
고맙습니다.
안녕하세요.
달아주신 코드로 (1)댓글 수정하기에 잘 적용했습니다. 감사합니다.
같은 코드를 (2)게시글 작성 시에도 적용할 수 있을까요?
안녕하세요~^^
사용중이신 필터는 새 댓글 입력 시에만 동작하는 필터로
수정 시에는 동작하지 않습니다.
현재 KBoard 댓글 플러그인에는
수정하는 데이터에는 필터가 제공되고 있지 않습니다.
plugins/kboard-comments/class/KBCommentController.class.php 파일 내에서
아래의 코드를 찾아
$comment->content = $content;
$comment->update();
아래의 코드로 변경 후
$comment->content = $content;
$comment = apply_filters('kboard_comments_update_data', $comment, $board->id);
$comment->update();
테마 functions.php에 아래와 같이 입력하여
적용해볼 수 있을 듯 합니다.
add_filter('kboard_comments_update_data', function($data, $board_id){
if($board_id == 1){
$comment = $data->content;
$comment = str_replace('안녕', '<br>안녕</br>', $comment);
$data->content = $comment;
return $data;
}
}, 10 ,3);
해당 개선 부분은 다음 버전에 업데이트 될 예정이며
현재는 git 버전에 업데이트 되었습니다.
고맙습니다.