style.css가 큐에 들어 가지 않는 이유는 무엇입니까?


10

나는 꽤 기본적인 테마를 얻었고 방금 style.css 파일이에로드되지 않는다는 것을 알았습니다 <head>. 이미 검색했지만 찾을 수없는 이유는 무엇입니까?

global $wp_styles객체를 이미 검사 했지만 아무것도 찾을 수 없습니다.

function style_test() 
{ 
    $wp_styles = new WP_Styles();

    echo '<pre>'; 
        // $wp_styles->enqueue == completely empty
        print_r( $wp_styles->registered ); 
    echo '</pre>'; 
} 
add_action( 'wp_print_scripts', 'style_test', 0 );

객체 내부에서 등록 / 대기열에 넣은 스타일 시트 (로드)를 찾을 수 없으므로이 검사에서도 잘못된 일을하고있는 것 같습니다. 어떤 아이디어?

참고 :
수동으로 대기열에 넣으면 style.css 파일이로드됩니다. 자동 로딩 만 작동하지 않습니다. 더 get_theme_data( TEMPLATEPATH.'/style.css' );문제없이 파일에 액세스 할 수 있습니다 .

답변:


18

테마 스타일 시트는 일반적으로 대기열에 포함되지 않으며 일반적으로 ..를 사용하여로드됩니다.

<link rel="stylesheet" type="text/css" media="all" href="<?php bloginfo( 'stylesheet_url' ); ?>" />

그래서 자연스럽게 스타일 배열에서 그것들을 볼 수 없습니다.

물론 (원하는 경우) 대신 대기열을 사용할 수 있습니다.


6
기본 스타일 시트 style.css는 다른 스타일 시트와 마찬가지로 문서 헤드에 하드 코딩되거나 수동으로 wp_head또는에 연결되어야 wp_print_styles합니다. WordPress는 style.css를 자동으로 연결하지 않습니다 .
칩 베넷

2
나는 (지금까지) style.css 로딩이 마술처럼 일어난다 고 생각했습니다 ... 명백해 주셔서 감사합니다! 둘 다 +1
kaiser

2

추천 을 할 수있는 방법은 테마의 functions.php에서 인큐 - 보내고있는 style.css입니다.

functions.php에 이것을 추가하십시오

 /**
 * Load CSS and JS the right way
 */
function myprefix_load_css_and_js() {
    wp_enqueue_style( 'style', get_stylesheet_uri() );
}
add_action( 'wp_enqueue_scripts', 'myprefix_load_css_and_js' );

여기 워드 프레스 테마 핸드북 에서 이를 참조하고 예제를 볼 수 있습니다 .

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