Bazı çok iyi tanıtım cevapları burada.
Temel olarak, get_template_part()
tema geliştiricilerin şablon dosyalarının belirli bir düzenini ayarlamalarına izin verir. CSS seçicileri için geçerli olduğu gibi spesifikliğe benzer şekilde düşünün. Bir şeyi tasarlarken, en az özgünlükle başlamak istersiniz, böylece bir tasarımın bireysel dikkat gerektiren kısımlarında kolayca geçersiz kılınabilir.
Örneğin, bir blog tasarlıyorsunuz ve yayınları işaretlemek için iyi çalışan bir loop.php dosyası oluşturuyorsunuz. Ancak, önceden plan yaparsınız ve bunu şablon dosyalarınızda daha sonra ek bağlam belirleyicileriyle çağırırsınız - örneğin, dizin sayfasında, get_template_part( 'loop', 'index' );
tek bir şablonda, aradığınızda get_template_part( 'loop', 'single' );
, arşiv sayfalarında, aradığınızda get_template_part( 'loop', 'archive' );
vb. Bu, arşiv sayfalarınızdaki döngüyü ana sayfadan farklı bir şekilde işaretlemeye karar verdiğinizde yolun aşağısını kolaylaştırır: sadece bir loop-archive.php şablonu oluşturun ve bu genel loop.php yerine kullanılacaktır .
Ama sihirli arkasında get_template_part()
fonksiyonunda olduğu locate_template()
ilk teması dizin, dosya için daha sonra üst dizin (varsa) adlı hangi çekler,. Bu eklenti geliştirme için çok yararlıdır. Eklentilerimden birinde, özel bir gönderi türü tanımlarım ve bu özel gönderi türü için eklenti dizinimde bir döngü şablonu dosyası oluşturdum. Ama ... Eklentilerimi kullanan temaların işaretlemeleri geçersiz kılmaları için izin verirlerse, isterlerse. Burası locate_template()
gerçekten harikalar yarattığı yer.
locate_template($template_names, $load = false, $require_once = true )
Her biri, stil sayfası dizinindeki $ template_names dizisindeki ve ardından şablon dizinindeki arar. $ Load argümanı olarak 'true' ifadesinin bulunması, ilk dosyanın bulunmasını gerektireceği ve hiçbir şablon dosyası bulunmazsa boş bir dize döndüreceği anlamına gelir . Böylece eklentimde böyle bir şey yapabilirim:
if ( '' === locate_template( 'loop-mycustomposttype.php', true, false ) )
include( 'loop-mycustomposttype.php' );
... tema geliştiricilerin kendi eklentilerimi özelleştirmelerini çok kolaylaştıracaklar, sadece kendi temalarına loop-mycustomposttype.php isimli bir dosya ekleyerek .