1. 정확한 제품 또는 플러그인 이름
게시판 6.2
Wordpress 5.9.3
2. 상세 내용
현재 kboard에서 게시판 스킨을 새로 만들 때 plugins/kboard/skin이 아니라 테마폴더 밑에 /kboard/skin 폴더를 만들어 추가할 수 있도록 해주세요.
최근 대부분의 플러그인들은 사용자 커스터마이즈 파일을 테마폴더 밑에 두는 방식으로 사용하고 있습니다.
kboard/class/KBoardSkin.class.php를 조금 수정해보니 테마폴더/kboard/skin에 새로운 스킨을 추가하는 것이 동작하는 것을 확인했습니다.
3. 확인 가능한 상세 페이지 주소
4. 수정한 코드 내역 (있다면)
private function __construct(){
$dir = KBOARD_DIR_PATH . '/skin';
if($dh = @opendir($dir)){
while(($name = readdir($dh)) !== false){
if($name == '.' || $name == '..' || $name == 'readme.txt' || $name == '__MACOSX' || $name == '.git') continue;
$skin = new stdClass();
$skin->name = $name;
$skin->dir = KBOARD_DIR_PATH . "/skin/{$name}";
$skin->url = KBOARD_URL_PATH . "/skin/{$name}";
$this->list[$name] = $skin;
}
}
closedir($dh);
// 여기서부터 추가된 코드임.
$dir = get_stylesheet_directory() . '/kboard/skin';
if($dh = @opendir($dir)){
while(($name = readdir($dh)) !== false){
if($name == '.' || $name == '..' || $name == 'readme.txt' || $name == '__MACOSX' || $name == '.git') continue;
$skin = new stdClass();
$skin->name = $name;
$skin->dir = get_stylesheet_directory() . "/kboard/skin/{$name}";
$skin->url = get_stylesheet_directory_uri() . "/kboard/skin/{$name}";
$this->list[$name] = $skin;
}
}
closedir($dh);
// 추가된 코드의 끝.
$this->list = apply_filters('kboard_skin_list', $this->list);
$this->latestview_list = apply_filters('kboard_skin_latestview_list', $this->list);
$this->merged_list = array_merge($this->list, $this->latestview_list);
답변 감사합니다.
필터를 사용하는 방법은 이미 생각하고 있었습니다. 그런데 만약 나중에 Kboard 게시판에 그런 기능이 들어가면 충돌이 생길 수 있을 것 같아서 주저하고 있었습니다. 일단은 그냥 저질러야겠네요.
안녕하세요~^^
저희가 고민이 없는 것은 아닙니다.
KBoard(케이보드) 게시판의 경우 스킨이 하나가 아니라 여러 개를 사용하는 경우가 많아
플러그인 쪽이나 혹은 스킨을 별도 하나의 플러그인으로 묶어 사용하는 경우를 추천드리고 있었습니다. (스토어에 판매 중인 스킨들은 플러그인으로 설치하실 수 있고 잘 동작합니다.)
지금도 간단한 필터 코드를 사용해서 테마에 넣고자 하시면 넣을 수는 있습니다.
아무튼 KBoard(케이보드) 시스템을 계속 발전시키고 있는데요.
요청하신대로 테마 쪽에도 스킨을 넣을 수 있도록 해보겠습니다.
남겨주신 코드를 그대로 사용할 수는 없을 것 같아요.
/테마/kboard
이런 경로가 되지 않을 까 생각됩니다.
참고로 코스모스팜 회원관리 플러그인의 스킨의 경우 테마 밑에 스킨을 만들 수 있도록 되어있습니다.
경로는 다음과 같습니다.
/테마/cosmosfarm-members
고맙습니다.