มีความสำคัญต่อการจัดคิวสไตล์ของชุดรูปแบบอย่างไร


19

ฉัน trawled net มองหาคำตอบนี้ แต่ด้วยเหตุผลทั้งหมดที่ฉันสามารถหาได้เป็นตัวอย่างจริง แต่ไม่มีคำอธิบายเฉพาะซึ่งชัดเจนว่าในกรณีของสคริปต์ บางคนสามารถอธิบายให้ฉันฟังได้ว่าเหตุใดจึงสำคัญ / เป็นประโยชน์ในการจัดคิวสไตล์เมื่อพัฒนาธีมแทนที่จะใช้ <link rel=stylesheet>ใน header.php

นอกจากนี้สไตล์ชีทเริ่มต้นของธีมควรมีการจัดคิวด้วยหรือไม่


ได้รับการสนับสนุนโดยข้อกำหนดการตรวจสอบธีม codex.wordpress.org/… แม้ว่าคุณจะเลือกที่จะลิงก์ rel = สไตล์ชีทหลักในส่วนหัวได้
helgatheviking

1
สไตล์ชีทเริ่มต้น (เช่น: style.css ในรูทของไดเรกทอรีของธีม) จะถูกโหลดโดยอัตโนมัติดังนั้นไม่จำเป็นต้องลงทะเบียน หาก CSS ทั้งหมดของคุณสำหรับชุดรูปแบบของคุณมีอยู่ในสไตล์ชีทนั้น (หรือถ้าคุณใช้กฎ 'นำเข้า' ในสไตล์ชีทนั้นเพื่อโหลด CSS) แสดงว่าไม่จำเป็นต้องทำการเข้าคิวเพิ่มเติม อย่างไรก็ตามเพื่อความยืดหยุ่นที่มากขึ้นภายในชุดรูปแบบลูกสามารถมีประโยชน์ในการจัดคิว CSS เพิ่มเติมแบบมีเงื่อนไขซึ่งสามารถตัดออกจากชุดรูปแบบใด ๆ ตามที่ @kaiser อธิบาย
Tom Auger

คำตอบ:


17

สิ่งสำคัญคือต้องจัดคิวสไตล์ชีทเพราะจะทำให้ธีมเด็กมีความยืดหยุ่นในการ dequeue เช่นเดียวกับการอนุญาตให้มันอยู่ในรายการสำหรับการอ้างอิงและหลากหลายสิ่งอื่น ๆ โดยทั่วไปแล้วจะช่วยให้มีความยืดหยุ่นมากขึ้นทั้งสำหรับคุณและนักพัฒนาซอฟต์แวร์รายอื่นที่โต้ตอบกับโค้ดของคุณ

สิ่งสำคัญคือคุณต้องทราบว่าการใช้สไตล์ชีทเริ่มต้นในชุดรูปแบบของคุณไม่ใช่ข้อกำหนด สไตล์ชีทจะต้องมีอยู่ แต่ถ้าคุณใช้เพื่ออะไรมากกว่าชื่อชุดรูปแบบของคุณตั้งรุ่น ฯลฯ wordpress สมบูรณ์ดีกับที่เช่นเดียวกับคนที่อนุมัติชุดรูปแบบสำหรับพื้นที่เก็บข้อมูลหลัก


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

โปรดทราบว่าฟังก์ชั่นนี้เพิ่มfilemtimeใน version-nr เพื่อป้องกันการแคชของเบราว์เซอร์หากเนื้อหาไฟล์มีการเปลี่ยนแปลง

สิ่งนี้จะทำให้ผู้ใช้ของคุณปิดการใช้งานสไตล์ชีทใน bootstrap ของธีมลูกด้วยการเรียก 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.