모든 스킨의 스타일이 로딩되요.

안녕하세요.

Kboard게시판의 default 스킨을 myskin, myskin2, myskin3, myskin4 으로 복사하여 각각 style.css 파일을 수정하였는데요.

홈페이지 소스를 보니 모든 스킨의 style.css가 로딩되네요.

현재 게시판 스킨의 style.css 만 로딩되었으면 좋겠어요..

어쩔수 없는건가요

 

워드프레스 에러 기술지원 서비스 전문가에게 맡기세요
워드프레스 에러 기술지원 서비스 전문가에게 맡기세요
  • 안녕하세요~^^

    KBoard(케이보드)에는 게시판과 최신글 기능이 있습니다.

    게시판과 최신글이 어느 페이지에 삽입되어 있는지 알아내는 방법이 쉽지 않으며

    게시판 체크와는 별도로 다른 작업이 필요합니다.

    그렇기 때문에 체크하는 코드가 늘어난다면 오히려 로딩이 느려질 수 있지 않을까 합니다.

     

    최신글의 경우 홈페이지 하단에 항상 표시되는 경우도 있을 수 있고요.

    따라서, 모든 페이지서 게시판의 스타일시트(CSS) 파일이 추가됩니다.

     

    FTP로 접속해서 파일을 확인해보세요.

    /wp-content/plugins/kboard/index.php 파일에서 아래 코드가 스킨의 스타일시트(CSS) 파일을 추가하는 코드입니다.

    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);
    	}
    }

     

    그리고 KBoard 댓글 스킨의 스타일시트(CSS) 파일을 추가하는 코드는 아래와 같습니다.

    /wp-content/plugins/kboard-comments/index.php 파일에서 아래 코드입니다.

    function kboard_comments_style(){
    	$skin = KBCommentSkin::getInstance();
    	foreach($skin->getActiveList() as $skin_name){
    		wp_enqueue_style("kboard-comments-skin-{$skin_name}", $skin->url($skin_name, 'style.css'), array(), KBOARD_COMMNETS_VERSION);
    	}
    }

     

    각각의 함수들은 wp_enqueue_scripts 액션에 등록되어있습니다.

    아래처럼 in_array 함수를 사용해서 페이지(포스트) ID값을 체크해서 원하는 순간에만 나머지 코드가 동작하도록 할 수 있을 듯합니다.

    function kboard_style(){
    	global $post;
    	
    	if(in_array($post->ID, array('1', '2', '3'))){
    		// 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);
    		}
    	}
    }

    고맙습니다.

워드프레스 에러 기술지원 서비스 전문가에게 맡기세요