Làm thế nào là quan trọng để enqueue phong cách của một chủ đề?


19

Tôi đã truy tìm mạng để tìm câu trả lời cho vấn đề này, nhưng vì một số lý do, tất cả những gì tôi có thể tìm thấy là những ví dụ thực tế, nhưng không có lời giải thích cụ thể đó, điều này nói rõ ràng trong trường hợp kịch bản. Ai đó có thể giải thích cho tôi tại sao nó quan trọng / thuận lợi cho phong cách enqueue khi phát triển một chủ đề, thay vì chỉ sử dụng <link rel=stylesheet>trong header.php.

Ngoài ra, những gì về bản định kiểu mặc định của chủ đề, cũng nên được ghi nhớ?


nó được khuyến khích bởi các yêu cầu xem xét chủ đề. codex.wordpress.org/ Mặc dù tùy chọn bạn chỉ có thể liên kết rel = biểu định kiểu chính trong tiêu đề
helgatheviking

1
Biểu định kiểu mặc định (ví dụ: style.css trong thư mục gốc của chủ đề của bạn) được tự động tải, do đó không cần phải xử lý. Nếu tất cả CSS cho chủ đề của bạn được chứa trong biểu định kiểu đó (hoặc nếu bạn sử dụng quy tắc 'nhập' trong biểu định kiểu đó để tải CSS), thì không cần phải liệt kê thêm. Tuy nhiên, để linh hoạt hơn trong các chủ đề con, có thể thuận lợi khi sử dụng CSS bổ sung có điều kiện có thể được bỏ qua bởi bất kỳ chủ đề con nào, như @kaiser minh họa.
Tom Auger

Câu trả lời:


17

Điều quan trọng là phải chinh phục bản định kiểu vì nó sẽ cho phép các chủ đề con tính linh hoạt trong việc loại bỏ nó cũng như cho phép nó được liệt kê cho các phụ thuộc và vô số thứ khác. Nó thường chỉ cho phép linh hoạt hơn, cho cả bạn và cho bất kỳ nhà phát triển nào khác tương tác với mã của bạn.

Cũng cần lưu ý rằng việc sử dụng biểu định kiểu mặc định trong chủ đề của bạn không phải là một yêu cầu. Biểu định kiểu phải HIỆN TẠI, nhưng nếu bạn không sử dụng nó để đặt tên cho chủ đề của mình, hãy đặt phiên bản, v.v., wordpress hoàn toàn ổn với điều đó, cũng như những người phê duyệt chủ đề cho kho lưu trữ chính.


17

Là một bổ sung cho câu trả lời khác của @ m0r7if3r:

Bạn có thể sử dụng current_theme_supports()để chỉ tải biểu định kiểu chủ đề gốc nếu có hỗ trợ chủ đề.

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

Lưu ý rằng chức năng này thêm filemtimevào phiên bản-nr. để ngăn bộ nhớ đệm trình duyệt nếu nội dung tệp bị thay đổi.

Điều này sẽ cho phép người dùng của bạn vô hiệu hóa biểu định kiểu trong bootstrap chủ đề con bằng một lệnh gọi fn đơn giản:

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

3

Một lý do khác để mê hoặc là nó cho phép các plugin làm mọi thứ với các kiểu. Chẳng hạn, Better WordPress Minify sẽ tự động và ghép các tệp CSS và WP-LESS sẽ biên dịch các tệp LESS của bạn và lưu trữ chúng một cách nhanh chóng. Cả hai đều làm điều này bằng cách nối vào hàng đợi kiểu và xử lý các tệp được xếp ở đó.

Có thể có những lý do cụ thể tại sao bạn cần loại trừ một số kiểu nhất định khỏi những thứ như thế này, nhưng nói chung là tốt để làm cho kiểu của bạn có sẵn với chức năng hữu ích như vậ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.