Tại sao style.css không bị mê hoặc?


10

Tôi có một chủ đề khá cơ bản và chỉ cần tìm ra tệp style.css của tôi không được tải vào <head>. Tôi đã tìm kiếm xung quanh nhưng không thể tìm ra, tại sao nó không tải.

Tôi đã kiểm tra global $wp_stylesđối tượng rồi nhưng không thể tìm thấy gì:

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

Bên trong đối tượng tôi cũng không thể tìm thấy các bảng định kiểu đã đăng ký / đã đăng ký (chúng được tải), vì vậy tôi đoán tôi cũng đang làm gì đó sai khi kiểm tra điều này. Có ý kiến ​​gì không?

Lưu ý:
Nếu tôi xử lý thủ công, tệp style.css của tôi sẽ được tải. Chỉ tải tự động không hoạt động. Hơn nữa tôi có thể truy cập các tập tin get_theme_data( TEMPLATEPATH.'/style.css' );mà không có vấn đề.

Câu trả lời:


18

Các bảng định kiểu chủ đề thường không được xử lý, chúng thường được tải bằng cách sử dụng ..

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

Vì vậy, tự nhiên bạn không nhìn thấy chúng (nó) trong mảng kiểu ..

Tất nhiên bạn có thể (nếu bạn thích) sử dụng một enqueue thay thế.


6
Biểu định kiểu chính.css - giống như bất kỳ biểu định kiểu nào khác, đối với vấn đề đó - phải được mã hóa cứng vào đầu tài liệu, hoặc bằng cách khác được nối thủ công wp_headhoặc wp_print_styles. WordPress không tự động hook style.css .
Chip Bennett

2
Tôi (cho đến bây giờ) nghĩ rằng việc tải style.css xảy ra một cách tự nhiên ... cảm ơn vì đã làm rõ! +1 cả hai.
kaiser

2

Cách được đề xuất là bằng enqueue-ing style.css trong hàm.php của chủ đề.

Thêm phần này vào hàm.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' );

Bạn có thể tham khảo điều này trong cẩm nang chủ đề WordPress tại đây và xem các ví dụ ở đây .

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.