Eklentilere satır içi CSS eklemek hiç sorun değil mi?


21

Normalde bir eklentide wp_enqueue_style kullanarak stiller eklerdim. Ancak, şu anda yalnızca birkaç satır CSS gerektiren bir eklenti oluşturuyorum ve bir isteği kaydetmek için satır içi stilleri sunmanın daha iyi olup olmadığını merak ediyorum. Açıkçası wp_enqueue_style kullanmanın pek çok avantajı var, ancak bu kadar küçük bir CSS parçası için ekstra bir istekte bulunmaya değer mi? Bu alanda kabul edilmiş herhangi bir 'en iyi uygulama' var mı?

Yanıtlar:


14

TL; DR; Enqueue

Harici stil sayfasını kullanma

  • PRO: Tüm stillerin bir noktada.
  • PRO: Web sayfası kodlamasını azaltır.
  • PRO: Eklentiyi korumak daha kolaydır.
  • PRO: Dosyanın konumunu değiştirmek için kancaları kullanabilir.
  • PRO: Dosyayı açmak için kancaları kullanabilir.
  • PRO: Küçültme stillerini otomatik olarak kullanabilir.
  • CON: Ekstra HTTP isteği ekleyebilir (üstesinden gelinebilir).

Satır içi stilleri kullanma

  • PRO: Uygulanan stili doğrudan görebilir.
  • PRO: Fazladan HTTP isteği yok.
  • CON: Stilleri değiştirmek için kanca kullanamazsınız.
  • CON: Stilleri açmak için kanca kullanamazsınız.
  • CON: Stilleri küçültemiyorum.
  • CON: İhtiyaç ! Stili geçersiz kılmak için önemli

Normalde şöyle derdim: Tabii, eğer onu kullanan tek kişi sizseniz, devam edin ve satır içi yapın. Fakat kodun herkese açık olacağı anlamına gelen bir eklentiden bahsediyorsunuz , genişletilebilirliği hedefleyin. Şu anda sadece birkaç stil çizginiz var:

  • CON: Ya bu birkaç kişi daha fazla olursa?
  • CON: Ya birisi eklentinizi genişletirse?
  • CON: Ya birisi değiştirmek isterse?
  • CON: Birisi onu css dosyalarında ararsa ne olur?
  • CON: Ya biri otomatik olarak küçültmek isterse?

Bu nedenle, sıkın. (Tercihen Şartlı olarak yalnızca eklentinin ihtiyacı varsa.) Aynı JavaScript için de geçerlidir . (Ancak mümkünse bu altbilgiye dahil edilmelidir.)


Arka uçta satır içi stilleri kullanmak sorun olur mu?
shea

@bungeshea Birisi eklentinizi değiştirecekse, arka ucunu çok doğru bir şekilde değiştirmek isteyebilir;) Sadece komut dosyasını yalnızca arka uçtayken kullandığınızdan emin olun. Örneğin: function _your_enqueue( $hook )seçenekler sayfanızda olup olmadığını görmek için $ hook'u test edebilirsiniz. Alternatif olarak daha basit özellikler current_screen()için kullanabilirsiniz . Sorun şu ki, bunu yapmanıza izin veriliyor, ancak genel kullanım, bir eklenti, sunucu kodu için.
Derk-Jan

1
Ekstra http isteğinin üstesinden gelinebileceğini unutmayın - bunu netleştirebilir misiniz?
Dustin

2
Yapamazsınız, ancak eklentinin kullanıcısı olabilir. Sayfa çıkmadan hemen önce, TÜM sıkılan stilleri almak ve bunları küçültülmüş, birleştirilmiş bir dosyaya eklemek için yazılmış birçok eklenti ve işlev vardır. Kaç tane CSS dosyası eklediğiniz önemli değil, görüntüleyici yalnızca birini görecektir. Javascript için aynı. Ancak bu sizin durumunuzda 'probleminiz değil'. İhtiyaç duyulmayan bir optimizasyondur ve imho, ekstra HTTP isteği, tüm PRO'lara göre kısa kalmaktadır.
Derk-Jan

1
Son cümle hakkında - AFAIK stilleri altbilgide değil üstbilgide verilmelidir
Mark Kaplun

2

Cevaplaması zor ve resmi bir cevap olup olmadığından emin değilim.

Bir isteği kaydetme konusundaki duyarlılığı anlıyorum, ancak satır içi stil hemen hemen her zaman kazanıyor. Bir tema veya son kullanıcı, CSS’nizi değiştirmekte zorlanacaktır.

Bunu göz önünde bulundurarak, bunu kamuya açık bir eklenti ile yapacağımı düşünüyorum.

  1. CSS, örneğin slayt gösterileri gibi, eklentinin işleyişinde kesinlikle kritik öneme sahipse .

  2. Veya, eklentideki satır içi CSS'nin değiştirilmesini veya kaldırılmasını sağlayan bir filtre de ekledim.

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.