WordPress’in çocuk temasından nasıl bir kod ürettiğini anlayın
Üçüncü taraf bir temaya ince bir ayar yapmanız veya tema çerçevesini kullanmanız gerekiyorsa, çocuk temasına alışacaksınız. Bunlar, tema güncellendiğinde herhangi bir ana temada kaybetmeden ayarlamalar yapma esnekliği sağlayan harika bir WordPress özelliğidir. Üçüncü taraf temalarını veya kendimi geliştirdiğim çerçevenin temasıyla kullanıyorum. Ancak, bazen WordPress’in kodu anneniz veya çocuk temasından kullanıp kullanmayacağı belirsizdir. Şablon dosyası, stil sayfası ve işlev dosyaları söz konusu olduğunda, ne kullanıldığını bulmak zor olabilir.
Bu yazıda tüm bunları açıklayacağım. Her türlü dosyayı göreceğim ve WordPress’in kodu ne zaman anne temanızdan ve kodu çocuğunuzun temasından ne zaman kullanacağını belirleyeceğim. Stil Sayfası Hem ana tema hem de çocuğunuzun teması bir stil sayfası olacaktır, çünkü stil sayfası olmadan çalışacak bir tema yoktur. Çocuğunuzun temasında, stil sayfanız WordPress’in bunun bir çocuk teması olduğunu ve ana tema olduğunu söyleyen bir kod satırı içerecektir. Bu, bir çocuk teması olan web sitem için kullandığım tema. Bu, WordPress’e temaya ne olduğunu anlatan birkaç yorum metni ile açılır:
Çekirdek 1c3bb4d5435887fc5f12ea13ce42f4a4 içerir
Şablonu başlatan satıra dikkat edin. Bu, WordPress’e bunun bir çocuk teması ve KompasFramework klasöründeki tema olduğunu söyler. WordPress, çocuk temasının ve ana temanın tema şablonu dosyasını kullanacaktır (yakında daha fazlası olacak). Ancak, annenizin stilini çekmek istiyorsanız, function.php dosyasında sırayla çocuğunuzun temasını seçmelisiniz. Çocuk temanızdaki functions.php dosyasına aşağıdakileri ekleyin. Temanız dosyaya sahip değilse, dosyayı oluşturun, dosyanın başlangıcına <? PHP açılış <? PHP eklediğinizden emin olun (sonunda bir kapanış etiketi eklemeniz gerekmez). Ana 1C3BB4D5435887F5F123CE42F4A4
Yukarıdaki kod, ana temanın sadece bir stil sayfası olduğunu varsayar; Mülkünüzün birkaç stili varsa, her stil sayfasını sıralamanız gerekir. Bunu yapmayı bitirdikten sonra, anne temasının stili sitenizde kullanılacaktır. Ayrıca çocuğunuzun temasına stil eklerseniz, stil sayfasını da sıralamanız gerekir. Aşağıdaki kod, çoğaltma varsa, çocuğun temasının stilinin ana temanın stilinin yerini almasını sağlar:
Çekirdek 1c3bb4d5435887fc5f12ea13ce42f4a4 içerir
Bu önce anne teması stili sayfasında, ardından bir çocuk teması. Çocuğun tema stili en son çizildiğinden, ana temada zaten bir stil olan öğeye bir stil eklerseniz, stil ana temanın stilinin yerini alacaktır. Ayrıca ana tema stili sayfasını çocuğun tema stili sayfasına bağımlılık olarak belirler ve çocuğun tema stili sayfasının, ana tema zaten sahip olanlar dışında yüklenememesini sağlar.
Not: Çocuğun daha önce kullanılan tema stili sayfasında bir çizgi görmüş olabilirsiniz. Bu artık en iyi uygulama değil, çünkü stil sayfasının yüklenmesini yavaşlatıyor – bunun yerine işlev dosyasını kullanmalısınız. Dosya şablonları şimdi tema şablonu dosyasını görelim. Sitenizdeki sayfaları görüntülemek için kullanılan WordPress iki şeye bağlı olacaktır: şablon hiyerarşisi ve bir alt tema kullanmanız. Yani, sitenizdeki 'WordPress' kategorisi arşiv sayfasını gördüğünüzü söyleyin. WordPress, en alakalı dosyayı bulmak için bir şablon hiyerarşisi kullanacak: Slug: category-wordpress.php'yi kullanarak belirli kategoriler için kategori arşiv şablonu dosyası
Kimlik: Category-23.php kullanan belirli kategoriler için kategori arşiv şablonu dosyası
Genel Kategori Arşiv Dosyası: Category.php
Genel Arşiv Dosyası: Archive.php
Catch-all.php dizin
WordPress bunu anneniz ve çocuk temasında arayacak. Hiyerarşide ilk dosyayı bulurken, ister ana temada ister çocuğun temasında olsun, onu kullanacaktır. Bir istisna vardır: En alakalı şablon dosyasının üst ve çocuk temasında bir sürüm olduğunda, çocuk temasından dosyaları kullanır ve üst temadaki olanları yok sayar. Bu, çocuk temaları için en yaygın kullanımlardan biridir.
Yukarıdaki kategorilerin örneklerini kullanan bazı örnekler:
Çocuk temanızda archive.php ve index.php ve üst tema varsa, category.php ve index.php varsa, WordPress üst temadan category.php kullanacaktır çünkü bu en yüksek hiyerarşidir.
Çocuğunuzun teması archive.php ve index.php ve ana temanızda archive.php ve index.php varsa, çocuğunuzun temasından archive.php dosyasını kullanacaktır. Çocuğunuzun teması Category.php ve index.php varsa ve ve index.php ve index.php Ana temanızda archive.php ve index.php, çocuk temasının.php kategorisi dosyasını kullanacaktır, çünkü bu hiyerarşideki en yüksektir.
Bu nedenle, ana temanızdaki şablon dosyasını değiştirmek istiyorsanız, istediğiniz kodla alt temada kopya dosyaları oluşturun.
Çocuk ve ana temadan etkilenen son dosya türü işlevi, tema işlevi dosyasıdır. Bu, temanıza eklediğiniz işlevler için de geçerlidir. Çocuğunuzun temasının işlevi, aynı kancaya bağlı olduklarını varsayarak, annenizin işlevinden önce yüklenecektir. Bu, stil sayfası ve şablon dosyalarının tam tersidir ve dikkatli değilseniz, ana temanızdaki işlevin çocuğunuzun temasında ne olabileceği anlamına gelir.
Çocuğunuzun temasında işlevler yazmanın, anne temasındaki ile aynı adla yazmanın hatalara neden olabileceğini belirtmek önemlidir. WordPress, iki işlev aynı ada sahipse sevmez. Bunun istisnası, anne temasına yüklenebilecek işlevi değiştirmek için çocuk temanızdaki işlevi kullanmanızdır.
Takılabilecek işlevler, aynı addaki diğer fonksiyonlar için koşullu bir incelemeye sarılacağı için takılabilecek işlevleri tanıyabilirsiniz. Başka bir deyişle, ana tema aynı adı taşıyan bir fonksiyonun çocuğun teması ile etkinleştirilip etkinleştirilmediğini kontrol ediyor. Eğer öyleyse, üst temada işlevler gerçekleştirmez. Yani, anne temanızın takılabilecek bir işlevi varsa, çocuğunuzun temasında kolayca değiştirebilirsiniz. Aşağıda, annem temasından takılabilecek bir işlev örneği, Kompas Framework: Core 1C3BB4D543587FC5F12EA13CE42F4A4'ü içerir
Çocuğun temasında, aynı adı taşıyan diğer işlevleri yazabilirim:
Çekirdek 1c3bb4d5435887fc5f12ea13ce42f4a4 içerir
Bu, ana temanın işlevi yerine gerçekleştirilecektir, bu nedenle incelenir. İşlevi etkinleştirmek için çocuğunuzun temasında add_ace () kullanmanız gerekmez, çünkü üst temadaki add_action () işlevi bunu çocuğunuzun temasından olanlar için yapacaktır. Bunun nedeni koşullu muayenenin dışında olmasıdır. Öncelikle, ana temanın işlevini yerine getirmek için öncelik kullanmak, çocuğunuzun temasının işlevinin ana temanın işlevinden önce çalışacağını söylediğimde (aynı kancaya bağlı olduğunda), onlar için önceliğe sahip olmadığını varsayıyorum. .
Öncelik, add_action () ve add_filter () işlevinin üçüncü parametresidir. Bunun için kullandığınız sayı ne kadar yüksek olursa, işlev o kadar yavaş açılır. Dolayısıyla, bir kancanın 5, 10, 20 ve 30 öncelikli dört işlevi varsa, sayısal sırada çekim yaparlar. Sorun değil, hangi numara kullandığınız; Yuvarlak bir numara kullanma eğilimindeyim, bu yüzden daha sonra başka işlevleri girmem gerekirse bir boşluk var. Bir işleve öncelik uygulamıyorsanız, WordPress varsayılan önceliği 10 verir. Bu nedenle, anne temasında öncelik eklenmeden bir işlev varsa ve çocuğunuzun temasından aynı kancadaki diğer işlevleri yerine getirmek ve ana temadan sonra etkinleştirmek istiyorsanız, sadece 10’dan daha yüksek bir öncelik vermek istiyorsanız. Add_action () işlevi için bir öncelik parametresi olmayan daha önce kullandığım takılabilir işlevi ele alalım. Çocuğunuzun temasından hemen sonra birkaç kod daha çalıştırmak istiyorsanız, öncelik kullanın, şu şekilde: 1C3BB4D543587F5F12EA13CE42F4A4’ün çekirdeğini içerir.
Bu, o tarihten sonra yazarın yayınlanması ve arşiv sayfalarına bağlantı ile başka bir parça ekleyecektir. Anne temanızdaki işlev yüklenemezse, kancayı kaldırma işlevi, ancak çocuğunuzun temasına işlevi yazmak istiyorsanız, yine de yapabilirsiniz. Ateş etmek için kullanılan kancanın ana temasının işlevini serbest bırakmalısınız, yani açılmayacaktır. Daha sonra, çocuğunuzun teması üzerinde kendisine farklı bir adla bir işlev yazarsınız ve aynı kancayla ilişkilendirirsiniz. Yukarıdaki örnekte yüklenebilen compass_posted_on () işlevinin yüklenemediğini hayal edin. Üst temada şuna benziyor: Çekirdek 1c3bb4d543587fc5f12ea13ce42f4a4
Remove_ace () için, önce wp_head kancasıyla ilişkilendirdiğiniz Remove_action () işlevini kullanarak Remove_ace () ‘i kaldırırsınız:
Çekirdek 1c3bb4d5435887fc5f12ea13ce42f4a4 içerir
Daha sonra yeni işlevleri çocuğunuzun temasına farklı bir adla kodlarsınız ve aynı kancaya bağlarsınız:
Çekirdek 1c3bb4d5435887fc5f12ea13ce42f4a4 içerir
Ebeveynlerin ve çocukların temasını anlamak, daha iyi kullanmanıza yardımcı olacaktır. Yukarıdaki yönergeler, çocuk temasını kullanırken WordPress’in annenizin kodu ve çocuk temasıyla ne yapacağını daha iyi anlamanıza yardımcı olacaktır. Bu, beklediğiniz kod kullanılmadığında durum sorununu çözmenize yardımcı olacaktır. Bu aynı zamanda çocuğunuzun temasına daha iyi ve daha verimli bir kod yazmanıza yardımcı olacaktır.
Güncelleme yayınlandığında sitenizdeki değişiklikleri korumak için bir alt tema kullanıyor musunuz?Eğer öyleyse, dosyanızda değişiklik yapmaya çalışırken hiç kafanız karıştı mı?
çocuk teması
Ücretsiz öğretici
WordPress teması