Get_header () üzerinde include ('header.php') kullanmanın herhangi bir avantajı var mı?


11

Temel tema - aslında baktığım her tema - başlık dosyasını dahil etmek için get_header () kullanır, ancak bunu yapmak için herhangi bir neden görmüyorum.

get_header()Basit yerine kullanmanın avantajları nelerdir include('file.php')?


3
Bunun konu dışı olduğunu biliyorum, ama sık sık görüyorum include('some-file.php');- parantez gerekmez, bu bir dil kurgusu! include 'some-file.php';iş gayet iyi mi, artı IMO da daha temiz görünüyor;)
TheDeadMedic

Yanıtlar:


18

Genel işlev kullanmak, WP API katmanını atmak anlamına gelir:

  • get_header kanca giderdi;
  • farklı başlıkları ad ( "header-{$name}.php") ile getirme uyumluluğu ortadan kalkar;
  • kullanımı, locate_template()muhtemelen çocuk temalarıyla uyumluluğu bozacaktır.

Fonksiyonun tam olarak ne yaptığını görmek için kaynağa her zaman bakabilirsiniz .

WordPress sadece kendi işlevini kullanmaz çünkü. Genellikle somut uyumluluk veya işlevsellik nedenlerinden dolayıdır.


Bunun yerine bir php include deyimi ile alternatif başlıkları çağırıyorum get_headerve bu neden bazı garip davranışlar elde ediliyor açıklar.
matt

2

Farklı bir başlık dosyası almak için get_header () işlevini de kullanabilirsiniz. Özel başlık dosyasına header-whatever.php adını verin ve ardından

get_header('whatever');

WP ise header.php yerine header-whatever.php dosyasını kullanır.

Sözdiziminin sakıncalı olduğuna dikkat edin - bunun yerine dosya adını buraya koymanız gerektiğini düşünürsünüz, ancak hayır - sadece tire işaretinden sonra isme ihtiyacınız vardır. Hayatımın şu saatini geri istiyorum :(


ohh teşekkürler! kahretsin tire. belki birini birkaç saat kurtardığınızı bildiğinizde gününüzü aydınlatacaktır. :)

0

Bunun ana nedeni get_header'a bağlanabilmenizdir. Bu, alt tema öğelerinde başlık üst öğesi veya ana tema dosyalarını düzenlemenize gerek kalmadan ayrı bir işlev dosyası yapabileceğiniz anlamına gelir.

Üst tema dosyalarını düzenlemek istemezsiniz, çünkü değişikliklerinizi yeniden uygulamanız gerekir. Bu değişiklikler bir alt temada yalıtılırsa ÇOK yükseltmeyi kolaylaştırır

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.