테마의 스타일 시트를 큐에 넣는 것이 얼마나 중요합니까?


19

나는 이것에 대한 답을 찾기 위해 그물을 트롤했지만 어떤 이유로 든 실제 예제 만 찾을 수 있지만 특정 설명이 없으면 스크립트의 경우 분명합니다. 누군가 <link rel=stylesheet>가 header.php를 사용하는 대신 테마를 개발할 때 스타일을 큐에 넣는 것이 왜 중요하고 유리한지 설명해 줄 수 있습니까 ?

또한 테마의 기본 스타일 시트는 어떻게 큐에 넣어야합니까?


테마 검토 요구 사항에 의해 권장됩니다. codex.wordpress.org/… 선택적으로 rel = 헤더의 주요 스타일 시트를 링크 할 수 있습니다
helgatheviking

1
기본 스타일 시트 (예 : 테마 디렉토리의 루트에있는 style.css)가 자동으로로드되므로 큐에 넣을 필요가 없습니다. 테마에 대한 모든 CSS가 해당 스타일 시트에 포함 된 경우 (또는 해당 스타일 시트에서 '가져 오기'규칙을 사용하여 CSS를로드하는 경우) 더 이상 큐에 넣을 필요가 없습니다. 그러나 하위 테마 내에서 유연성을 높이려면 @kaiser가 설명하는 것처럼 모든 하위 테마에서 생략 할 수있는 추가 CSS를 조건부로 포함시키는 것이 유리할 수 있습니다.
Tom Auger

답변:


17

스타일 시트를 큐에 넣는 것이 중요합니다. 하위 테마는 그 요소를 큐에 넣을 수있는 유연성을 제공 할뿐만 아니라 종속성 및 기타 여러 항목에 대해 나열 할 수 있기 때문입니다. 일반적으로 사용자와 코드와 상호 작용하는 다른 개발자 모두에게 더 큰 유연성을 제공합니다.

테마에서 기본 스타일 시트를 사용하는 것은 필수 사항이 아닙니다. 스타일 시트는 현재 상태 여야하지만 테마 이름을 지정하고 버전을 설정하는 것 이상의 용도로 사용하지 않으면 기본 리포지토리의 테마를 승인하는 사람들과 마찬가지로 워드 프레스도 완벽하게 사용할 수 있습니다.


17

@ m0r7if3r의 다른 답변 외에도

current_theme_supports()테마 지원이있는 경우에만 상위 테마 스타일 시트를로드하는 데 사용할 수 있습니다 .

function add_supported_stylesheets()
{
    if ( current_theme_supports( 'parent-stylesheet' ) )
        wp_enqueue_style( 'main', get_stylesheet_directory_uri().'/style.css', array(), filemtime( get_stylesheet_directory().'/style.css' );
}

// In your parent themes bootstrap in the functions.php file
// Add the theme support:
add_theme_support( 'parent-stylesheet' );
// Then add the stylesheet:
add_action( 'after_setup_theme', 'add_supported_stylesheets', 20 );

이 함수는 filemtimeversion-nr에 추가 됩니다. 파일 내용이 변경된 경우 브라우저 캐싱을 방지합니다.

이를 통해 사용자는 간단한 단일 fn 호출로 하위 테마 부트 스트랩에서 스타일 시트를 비활성화 할 수 있습니다.

remove_theme_support( 'parent-stylesheet' );
// ...or...
add_theme_support( 'parent-stylesheet' );

3

대기열에 넣는 또 다른 이유는 플러그인이 스타일로 작업을 수행 할 수 있기 때문입니다. 예를 들어 Better WordPress Minify는 자동으로 CSS 파일을 연결하고 WP-LESS는 LESS 파일을 컴파일하여 즉시 캐시합니다. 둘 다 스타일 대기열에 연결하고 거기에 줄 지어있는 파일을 처리하여이 작업을 수행합니다.

특정 스타일을 이와 같은 항목에서 제외해야하는 특정 이유가있을 수 있지만 일반적으로 이러한 유용한 기능에 스타일을 제공하는 것이 좋습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.