안녕하세요.
워드프레스 게시판 KBoard(케이보드) 사용중입니다.
케이보드 대시보드에서 새글 'new' 표시를 3일로 설정해 두었습니다.
그런데 특정 게시글에만 오랫동안 'new'표시를 해두고 싶습니다.
혹시 방법이 있을까요?
안녕하세요~^^
먼저 /wp-content/plugins/kboard/class/KBContent.class.php 파일을 수정해주세요.
1. KBContent.class.php 파일에서 아래 코드를 찾아주세요.
public function isNew(){
if($this->uid){
$notify_time = kboard_new_document_notify_time();
if((current_time('timestamp')-strtotime($this->date)) <= $notify_time && $notify_time != '1'){
return true;
}
}
return false;
}
2. 찾은 코드를 아래 코드로 교체 해주세요.
public function isNew(){
$is_new = false;
if($this->uid){
$notify_time = kboard_new_document_notify_time();
if((current_time('timestamp')-strtotime($this->date)) <= $notify_time && $notify_time != '1'){
$is_new = true;
}
}
return apply_filters('kboard_content_is_new', $is_new, $this);
}
3. 테마의 functions.php 파일에 아래 코드를 추가해주세요.
add_filter('kboard_content_is_new', 'my_kboard_content_is_new', 10, 2);
function my_kboard_content_is_new($is_new, $content){
if($content->uid == '1'){ // 게시글 uid 값을 체크합니다.
$is_new = true;
}
return $is_new;
}
게시글의 uid 값은 적절히 바꿔주셔야 합니다.
KBContent.class.php 파일의 내용은 기본으로 적용해서 업데이트하도록 하겠습니다.
고맙습니다.
와우...큰 기대없이 혹시나 하고 질문드렸는데 간단하게 해결해주시네요.
덕분에 원하는 사이트를 구현해나가고 있어서 정말 감사드립니다.
아 그럼 특정 게시글이 두개 이상일 때도 가능한가요?
안녕하세요.
특정 게시글이 여러개 일때는
아래의 코드처럼 해주시면 됩니다.
add_filter('kboard_content_is_new', 'my_kboard_content_is_new', 10, 2);
function my_kboard_content_is_new($is_new, $content){
if(in_array($content->uid, array('1', '2','3'))){ // 게시글 uid 값을 체크합니다.
$is_new = true;
}
return $is_new;
}
in_array에 대한 자세한 내용은 아래의 링크를 참고해보시겠어요?
http://php.net/manual/kr/function.in-array.php
고맙습니다.
감사합니다!!