Bir temanın stil sayfasını sıralamak ne kadar önemlidir?


19

Buna bir cevap arayan ağı trol ettim, ama bir nedenden dolayı bulabildiğim tek şey gerçek örnekler, ancak bu özel açıklama olmadan, senaryolarda açıkça söyleniyor. Birisi bana sadece <link rel=stylesheet>header.php içinde kullanmaktan ziyade, bir tema geliştirirken stilleri sıralamanın neden önemli / avantajlı olduğunu açıklayabilir mi ?

Ayrıca, temanın varsayılan stil sayfası da ne olmalıdır?


tema inceleme gereklilikleri tarafından teşvik edilmektedir. codex.wordpress.org/… olsa isteğe bağlı olarak sadece rel = başlıktaki ana stil sayfasını
bağlayabilirsiniz

1
Varsayılan stil sayfası (yani: temanızın dizininin kökündeki style.css) otomatik olarak yüklenir, bu nedenle saklanması gerekmez. Temanız için tüm CSS'niz bu stil sayfasında bulunuyorsa (veya CSS'yi yüklemek için bu stil sayfasında 'içe aktar' kurallarını kullanırsanız), daha fazla sıralama gerekmez. Bununla birlikte, çocuk temalarında daha fazla esneklik için, @kaiser'ın gösterdiği gibi, herhangi bir alt tema tarafından çıkarılabilecek ek CSS'yi koşullu olarak sıralamak avantajlı olabilir.
Tom Auger

Yanıtlar:


17

Stil sayfasını sıralamak önemlidir, çünkü çocuk temalarına bağımlılığı ve diğer birçok şeyi listelemesine izin vermenin yanı sıra, onu ayıklama esnekliğine de izin verir. Hem sizin için hem de kodunuzla etkileşimde bulunan diğer geliştiriciler için genellikle daha fazla esneklik sağlar.

Temanızda varsayılan stil sayfasını kullanmanın bir gereklilik olmadığını da unutmayın. Stil sayfası SUNULMALIDIR, ancak temanızı adlandırmaktan başka bir şey için kullanmazsanız, sürümü vb. Ayarlayın, wordpress, ana depo için temaları onaylayan kişiler gibi, TAMAMEN iyi olur.


17

@ M0r7if3r tarafından verilen diğer yanıta ek olarak:

current_theme_supports()Üst tema stil sayfasını yalnızca tema desteği varsa yüklemek için kullanabilirsiniz .

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

Bu işlevin filemtimenr sürümüne eklendiğini unutmayın . dosya içeriği değiştirilirse tarayıcının önbelleğe alınmasını önlemek için.

Bu, kullanıcılarınızın alt temalar önyüklemesindeki stil sayfasını basit bir tek fn çağrısıyla devre dışı bırakmasına olanak tanır:

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

3

Enqueuing'in bir başka nedeni, eklentilerin stillerle bir şeyler yapmasına izin vermesidir. Örneğin, Better WordPress Minify otomatik olarak CSS dosyalarını birleştirir ve birleştirir ve WP-LESS LESS dosyalarınızı derler ve anında önbelleğe alır. Her ikisi de bunu stil kuyruğuna bağlayıp orada sıralanan dosyaları işleyerek yaparlar.

Bunun gibi şeylerden hariç tutulmak için belirli stillere ihtiyaç duymanızın belirli nedenleri olabilir, ancak genellikle stillerinizi bu kullanışlı işlevsellik için kullanılabilir hale getirmek iyidir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.