WordPress temanızı şubeler ve ahşap ile basitleştirin

WordPress olarak kabul edilebilecek gelecekteki özellikler hakkındaki son makalede, çekirdeğine bir şablon dili eklemeyi ekliyorum. Bu dillerden biri daldır ve uygulaması, ahşap eklentisi aracılığıyla WordPress için zaten mevcuttur. Peki, şablonun dili nedir, WordPress ortamında nasıl çalışır ve çaba ile orantılı mı?

Şablon dili, sensiolabs’tan WordPress dal temalarının geliştirilmesine büyük karlar getirebilir, “PHP için esnek, hızlı ve güvenli şablon makinesi” dir. Kısacası, Twig, verileri biçimlendirilmiş çıktıya dönüştürmek için özel olarak tasarlanmış meta dili (PHP’ye derlenir) sağlar. Çıktı genellikle HTML’dir, ancak yapmak zorunda değildir – XML, JSON veya herhangi bir sıradan metin biçimi olmak mutlu olabilir.
Çıktı, gerekli verileri (PHP nesnesi olarak) bir dal makinesi sağlayarak ve hangi şablonun oluşturulacağını söyleyerek üretilir. Makine gerisini halleder. Ama neden değişiyor? PHP kullanarak iyi görünen binlerce mevcut WordPress teması var (bazıları iyi). Şablonlama diliyle ilgili sorun nedir. Twig web sitesi şablon dilini kullanmanın avantajı, şablon dal dilini kullanmanın 6 ana avantajını içerir:
Kısa – PHP ile karşılaştırıldığında, dal çok özlüdür, bu nedenle yazmak ve sürdürmek daha kolaydır
Şablon -Odaklı – Bu, PHP gibi çok amaçlı bir dil olmaktan ziyade, özellikle çıktı yapmak için yapılmış bir dildir
Tam özellikler – Twig çok güçlü, kalıtım ve blok modüler tasarımlar çok kolay.
Öğrenmesi kolay – Dal’ı anlamak için kesinlikle geliştirici olmanıza gerek yok
Genişletilebilirlik geliştiricileri, Twig’in tüm ön bitim gereksinimlerini karşılayabilmesini sağlamak için eklentiler ekleyebilir-bu avantaj, PHP becerilerinizi nasıl değerlendirdiğinize bağlı olabilir, çünkü Twig PHP’ye derlenir. Bence bu benim için çok mümkün, en azından ortaya çıkan PHP üretebileceğimden daha iyi olacak.
En büyük avantaj, daldan gerçekten sevdiğim veri ve tasarımların ayrılması, verileri gerçekten tasarımdan ayırmasıdır. Twig bir şablon makinesidir: verileri sağlarsınız ve hangi şablonun oluşturulacağını söylersiniz.
Bu, temel uygulamanın artık sadece verileri derlemeyi önemsediği, temanın kendisi için herhangi bir gereksinim olmadığı anlamına gelir. WordPress için, eklentilerin verilerin odağı olduğu anlamına gelirken, kaydırıcılar gibi ön uç kontrol etki alanı daldırır. Dalların şekli nasıl? Twig, herhangi bir PHP uygulamasıyla çalışmak üzere tasarlanmıştır ve test için önyüklemesi çok kolaydır (diğer avantajlar). Şablon oluşturma için basit PHP dosyaları şöyle görünebilir:
Çekirdek D57D16EF5ADC6005565D içerir
Ve gerçek dal şablonu:
Çekirdek D57D16EF5ADC6005565D içerir
Her şey geleneksel bir PHP/HTML karışımından çok kolay ve çok daha temiz. Aslında, bir site üretmek için bu tür bir yaklaşımı kullanan (ya da kendisini “çok basit” olarak tanımlamasına rağmen biraz daha sofistike olsa da) Pico gibi birkaç CM vardır.
Ahşap: Elbette, Twig ve WordPress ve ikisini birleştiren kereste eklentisiyle ilgilenen WordPress’imize dallar getiriyor. Bazı nedenlerden dolayı, WordPress deposunda Timber olarak adlandırılan 2 eklenti var, bu yüzden doğru olanı aldığınızdan emin olun! Bu eklenti, editoryal tasarımcı Boston Upstatement’in etkileyici bir çalışmasıdır ve üç ana görevi yerine getirir: Twig makinelerini WordPress’e entegre etmek
Temel bir WordPress veri toplama oluşturun
İşleme Render Twig Şablonları
Normal WordPress temasında veri toplama ve aynı PHP dosyasında daha fazla biçimlendirme (döngü hakkında düşünür), ahşap şablon iki işlevi böler. Temel haliyle, şablon dosyası yalnızca verilerin derlenmesi ve ardından verileri şablonu oluşturmak için kullanma veya ayrı bir dosyada saklanan isteyip istemediğinizi görmekle ilgilidir.
Bir örnek çok yardımcı olacaktır, bu yüzden bunlardan birini keşfedelim. İşte Bosco teması için index.php dosyası (oldukça basit olduğu için bu temayı seçtim):
Çekirdek D57D16EF5ADC6005565D içerir
Tema bilinen bir WordPress döngüsü içerir ve listedeki her yazı için çıktı üretmek için get_template_part işlevini kullanır. (Örneğin, tüm yayınların standart bir formata sahip olduğunu varsayacağız.) Bununla birlikte, kereste ile index.php yalnızca gerekli verilerin toplanmasıyla ilgilidir:
Çekirdek D57D16EF5ADC6005565D içerir
Genel verileri almak ve daha sonra şablon dizinini oluşturmak için daha önce pişirilmiş ahşap yöntemini kullanır.
Çekirdek D57D16EF5ADC6005565D içerir
Bu şablonda çok fazla değil çünkü orijinal ile aynı modüler yaklaşımı izledim (yani çeşitli konumlarda kullanılan kod kendi dosyasına yerleştirilir), ancak dalların ve çalışan sofistike özelliklerin özlü doğasını zaten görebiliriz. İlk olarak, başka bir ifade daha var. IF ifadesinde diğerleri gibi çalışır ve yayın değişkenleri boşsa gerçekleştirilir. Ek IF ifadesi için sarmaya gerek yok. Döngü dizin değerine göre hareket etmek de mümkündür, bu nedenle son yinelemede ilk yinelemede veya altbilgideki başlık çıkışı, örneğin, Twig’in mirasının kullanımı vardır. Bu durumda, dizin şablonu temel şablonu genişletir ve içerik blokları için içerik sağlar.
Temel şablona bakalım:
Çekirdek D57D16EF5ADC6005565D içerir
Dosyanın üstünde, bazı makroları tüm dosyalar için özel olarak kullanılabilir hale getiren bir içe aktarma deyimi vardır. Kısa uğruna, get_header, get_ideBar ve orijinal get_footer (ancak kereste kullanma olarak adlandırılan) işlevini kaydettim ve tek blok içerik bloğu. Öyleyse, şablon içeriğine bakalım.Twig:

Çekirdek D57D16EF5ADC6005565D içerir
Bu biraz daha ilginç. Bu şablon sadece tek bir makale öğesi yayınlamakla ilgilidir ve dal diline alışmadan bile neler olduğunu bulmak oldukça kolaydır.
IF ifadesinde incelenen tüm değişkenler veya {{}} ifadesindeki çıktı haline gelir PHP dosyası tarafından monte edilir ve Twig şablonuna iletilir. Kereste eklentisi sadece verilerin çoğunu toplamakla kalmaz, aynı zamanda özellikle WordPress bazı önemli şeyler sağlar. Örneğin, içeriğe gönderme post.post_content aracılığıyla erişilebilir, ancak bu ham bir içeriktir, böylece kereste tüm filtreleri uyguladıktan ve tüm kısa kodları çalıştırdıktan sonra içeriği geri yükleyecek bir Post.Concent yöntemi sağlar. Bu şablonun alt kısmında makro için birkaç çağrı olduğunu göreceksiniz: meta yayın görüntülemek ve kategoriyi ve etiket gönderisini görüntülemek için.Makro bir dal dosyasında depolanmıştır (macros.twig diyorum ama aynı zamanda herhangi bir ad da olabilir ) taban şablonunda içe aktarılır. Otomatik olarak verilere erişimleri yoktur, bu nedenle bu makroya iletilir:
Çekirdek D57D16EF5ADC6005565D içerir
Genişletilmiş şablon dilinin faydaları parlamaya başladı. Makro, meta posta çıkışından karmaşık menülere, tam ekran kaymasına kadar başlayan ve eklenti olarak eklenmek yerine, yalnızca makro şube olarak eklenir. PHP tarafında olması gereken tek şey, makro’nun gerekli verilere sahip olmasını sağlamaktır.
Tamam, ama PHP ve Twig? Bu kopyalanmıyor mu? Genel varsayım, kereste temasının genel sözleşmeyi takip edeceği ve her bir şablon için bir tema tarafından ihtiyaç duyulabilecek bir PHP dosyası oluşturacağıdır, WordPress şablonu hiyerarşisini bir rehber olarak kullanarak. Bildiğimiz gibi, şablon hiyerarşisi olağanüstü. Bu, şablonumuzda kolayca çok spesifik olmamızı sağlar. Diğer arşivlerden farklı kategori yayınları listesini görüntülemek istiyorsak, bir kategori.php dosyası oluştururuz ve otomatik olarak kullanılacağız. Daha spesifik olmak istiyorsak ve spor kategorimizi gönderme listesi diğer kategorilerden farklı görüntülenirse, kategoriler oluştururuz. Uygun ve otomatik olarak şablon gücü sırasına göre değiştiririz. Kereste ve dalla, çünkü PHP dosyaları yalnızca derleme verileri çok fazla olma eğilimindedir. Bu nedenle, WordPress şablonu hiyerarşisinden yararlanmak ve ihtiyacımız olan verileri üretebilen ve daha sonra oluşturulacak doğru dal şablonunu derleyebilen sadece bir dizin.php yapmak mümkündür:
Çekirdek D57D16EF5ADC6005565D içerir
Ahşap daha yakın düşünülmeyi hak ediyor Güçlü bir eklentinin neyin kısa bir özetidir ve zihninize ilham verir ve eğer zevkinizi uyandırırsa, eklentiyi kurmayı, ahşap ve dal belgelerini izlemeyi ve tema ahşap marşını almanızı şiddetle tavsiye ederim. eklenti paketi) veya temayı dönüştürmek nasıl çalıştığını hissetmektir. Bence kereste ve daldan yaptığınız şey, yapmaya çalıştığınız tema türüne bağlı olabilir. Ağır kenar çubuğu, tam widget’ın teması, upstatement’in haber medya kuruluşlarına çok odaklandığını belirtmek için en iyi ve ilginç seçim değildir. Ayrıca, veri eksik olduğunuzu ve kereste genişletmeniz veya sadece gerekli tüm verilerin (örneğin, gelen kullanıcı verilerinin) dal şablonuna sağlandığından emin olmak için PHP bileşeninizi güncellemeniz gerektiğini de görebilirsiniz. Kereste ve dal kombinasyonundan gerçekten sevdiğim, veri ve tasarımların ayrılmasıdır, yani WordPress (veya dal kullanan diğer CM’ler) için temalar tasarlamanın PHP hakkında bilgi gerektirmediği ve hatta olmayabileceği anlamına gelir. WordPress’in kendisi hakkında çok fazla bilgi. Hangi verilerin mevcut olacağını onaylayın ve geliştirici ve tema tasarımcısı sitede aynı anda çalışabilir. WordPress Core için ek olanaklar?
Şablon dilinin avantajı, WordPress çekirdeği için ciddi bir güncelleme olarak kabul edilmesi gerektiğini düşündürüyor. Birçoğu yakın zamanda WordPress temalarının temizliğe geri dönmek, sadece tasarıma duyduğu ihtiyacı yazdı ve işlevsellik eklentilere bölündü. Başka bir şey yoksa, Twig tema geliştiricisini bu yol boyunca zorladı. Mevcut temaların ve büyük kurulum tabanlarının büyük kütüphanesi büyük engeller olabileceğine rağmen, bir veri toplama oluşturmanın ve dal gibi şablonlar için kullanılabilir hale getirmenin nispeten kolay olacağını hayal edebilirsiniz. Ancak, bu, dal ve benzerlerinin böyle çözülmesi anlamına gelmez. Şablon dili, temaların geliştirilmesi için büyük karlar getirir, bunlardan birkaçı geleneksel WordPress temalarından sık sık kaybolan sadelik düzeyi değildir. Sadece bu nedenle, kereste eklentisi boyunca dal araştırmaya değer. Şablon dilini hem WordPress hem de diğer CMS’de kullanma deneyiminiz var mı?
Etiket:
WordPress teması

admin

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir