안녕하세요.
K보드의 기본 스킨을 여러개 복사해서 사용하고 있습니다.
안에 php 구조만 약간씩 다르고 css는 모두 동일한데, 각 게시판마다 css가 모두 로딩되다보니 비효율적이여서,
default 스킨의 css만 로딩하고 나머지는 로딩을 제한하고 싶습니다.
어디에서 변경할 수 있는지 알 수 있을까요?
항상 빠르게 답변 해 주셔서 감사드립니다.
저도 예전부터 이 방법을 찾고 있는데요, 전문 개발자가 아니다보니 구현을 못 했습니다. 저는 할 수 없이 복사된 스킨들은 빈 css 파일로 만듭니다. 케이보드 정말 잘 쓰고 있지만 css 로드하는 방식은 좀 문제가 있는 것 같습니다. 게시판이 몇십개인데 스킨 새로 만들 때마다 무조건 로드가 되니 참 난감합니다.
앗.. 그러셨군요 ㅎㅎ;
케이보드 플러그인 폴더에 index.php 파일 중
<?php
/*
* 스크립트와 스타일 파일 등록
*/
add_action('wp_enqueue_scripts', 'kboard_style', 999);
add_action('kboard_switch_to_blog', 'kboard_style');
function kboard_style(){
// KBoard 미디어 추가 스타일 속성 등록
wp_enqueue_style('kboard-editor-media', KBOARD_URL_PATH . '/template/css/editor_media.css', array(), KBOARD_VERSION);
// 활성화된 스킨의 style.css 등록
$skin = KBoardSkin::getInstance();
foreach($skin->getActiveList() as $skin_name){
wp_enqueue_style("kboard-skin-{$skin_name}", $skin->url($skin_name, 'style.css'), array(), KBOARD_VERSION);
}
wp_register_style('kboard-jquery-flick-style', KBOARD_URL_PATH . '/template/css/jquery-ui.css', array(), '1.12.1');
}
를 수정하면 될 것 같은데.. 이 부분 말고 다른 부분도 수정을 해야 하는것 같더라구요..^^;ㅋㅋ
안녕하세요~^^
kboard_skin_active_list 필터를 활용하시면
특정 스킨의 style.css 파일을 로딩에서 제외하실 수 있습니다.
아래 코드를 활용해보시겠어요?
add_filter('kboard_skin_active_list', 'kboard_skin_active_list_20211014', 10, 1);
function kboard_skin_active_list_20211014($active){
$skin = 'default'; // 실제 게시판 스킨명으로 교체해주세요.
$search = array_search($skin, $active);
unset($active[$search]);
return $active;
}
위의 코드에서 $skin = 'default' 부분은 실제 스킨명으로 적용해주세요.
위의 코드를 적용하면 스킨 파일의 functions.php 파일 로딩도 제외되니 사용에 주의해주세요.
테마의 functions.php 파일에 코드를 추가하거나 Code Snippets 플러그인을 사용해서 코드를 추가할 수 있습니다.
스킨 style.css 파일 로딩 관련해서는
저희도 심도 있게 고민해보겠습니다.
고맙습니다.