WordPress’e sayfaya, gönderi veya şablona özel bir widget ekleyin

Widget’lar WordPress’i çok esnek hale getirir. Widget alanını temanıza ekleyerek, kullanıcının bir kod satırı yazmak zorunda kalmadan kendi özel içeriğine girmesine izin verirsiniz. Kenar çubuğu ve altbilgide en yaygın olanıdır, burada arama widget’ları, en son gönderim widget’ları veya belki de özel menüler gibi widget’ları saklamak için kullanılırlar. Ancak sayfaya ekler ve yayınınızı şablon ederseniz, daha güçlü hale getirirsiniz. Widget alanını istediğiniz herhangi bir şablon dosyasına ekleyebilirsiniz. Onlardan temama, başlıklar gibi yerlere, ana navigasyondan önce ve sonra ve içerikten önce ve sonra çok şey eklemeyi seviyorum. Sitenizdeki her sayfa tarafından kullanılan şablona (başlıklar gibi) ekleyebilir veya daha spesifik olabilir ve yalnızca belirli içerik türleri için şablon dosyasına ekleyebilirsiniz.
Bu yazıda bunu nasıl yapacağınızı göstereceğim. Yirmi on yedi varsayılan temadan bir çocuk teması oluşturacağım ve sonra çocuğun temasında birkaç yeni şablon dosyası oluşturacağım: özel sayfa şablonu dosyaları, kategori arşiv dosyaları ve tek post şablon dosyaları. Her birinde, içerik türüne özel bir widget alanı ekleyeceğim, böylece kullanıcılar sayfayı yalnızca bir sayfa şablonu, kategori arşivi veya bir yayın kullanarak gördüklerinde görecekler. Haydi başlayalım! Not: Bu yazının kodunu GitHub’a ekledim, böylece bu öğretici ile çalışırsanız kontrol edebilirsiniz.
Çocuğumun temasını hazırlarken, yirmi yediden bir çocuğun temasını kullanacağım: kendi temanızla çalışıyorsanız, bir çocuk teması oluşturmak yerine doğrudan düzenleyebilirsiniz. Ancak üçüncü taraf bir tema kullanıyorsanız, bir çocuk teması oluşturmalısınız. Bunun nedeni, temayı güncellediğinizde, yaptığınız her değişiklik kaybolacaktır. Yani, WP-Concent/Tamans klasörünüzde, tema adınızla yeni bir klasör oluşturun. WPMU-TEMLATES-Widgets diyorum. İçeride, style.css dosyasını ekleyin ve bunu ekleyin: CFD5884884ff55ae9b25a30c5c5768e’nin özünü içerir
Unutmayın, kendi temanızla çalışıyorsanız, bu adımı geçebilirsiniz. Ve farklı bir üst tema kullanıyorsanız, bir stil sayfası yansıtacak şekilde düzenlemelisiniz. Emin değilseniz, çocuk teması oluşturma hakkındaki yazımıza bakın.
Widget alanını kaydetme Şablon dosyamıza widget alanları eklemeden önce, tema işlev dosyasına kaydetmemiz gerekir. İşlev dosyanızı açın, temanız zaten varsa veya yeni bir çocuk temasıysa, function.php adlı bir dosya oluşturun. Widget’ı kaydetmek için boş bir işlev ekleyerek başlayalım ve widgets_init kancasıyla ilişkilendirelim. Bunu işlev dosyanıza ekleyin:
CFD588488FF5AE99B25A30C5C5768E’nin özünü içerir
Bu işlevde, dört widget alanı kaydedeceğiz: her biri bir yazı ve şablon kategorisi arşivi için ve iki özel sayfa şablonları için.
İlk widget’ı kaydederek başlayın:
CFD588488FF5AE99B25A30C5C5768E’nin özünü içerir
Aşağıdaki parametre dizileriyle Register_idabar () işlevini kullanır:
Widget ve özelleştirici yönetici ekranında görünecek widget alanının adı. Widget alanına özgü bu tercüme.id yaptım.
Uluslararasılaşma için yer tutucuları kullanan widget’tan önce işaretleme.
Widget’tan sonra işaretleme.
H3 elemanları ile çevrili widget başlığı öncesi ve sonra işaretleme.
Yani bu ilk. Şimdi, hala işlevinizde, diğer üçünü ekleyin:
CFD588488FF5AE99B25A30C5C5768E’nin özünü içerir
Yani şimdi dört widget’ımız var:
Tek bir yayındaki içerik tek tek.
Kategori arşivindeki içerikten biri.
Widget sayfa şablonumuzdaki içerikten biri ve biri.
Widget alanınızı taşımak istiyorsanız (örneğin bir kategori ilk arşivi içerikten sonra veya içerikten önce bir yayın yerleştirerek), adını doğru şekilde değiştirmeniz gerekir. Bu, gelecekte kodunuzu düzenlemeye geldiğinizde ne olacağını bilirsiniz ve kullanıcınız Widget alanının yönetici ekran widget’ından widget eklediklerinde nerede görüntüleneceğini bilir. Bunu değiştirirseniz, bir sonraki adımda şablon dosyanızdaki doğru yerde widget’ı görüntülemek için kodu yerleştirmeniz gerektiğini unutmayın, ki bu benim koyduğum yerden farklı olabilir.
Şimdi widget yönetici sayfasını açarsanız, widget alanınızı widget’lara hazır göreceksiniz:
Yeni widget alanı yönetici ekran widget’ına kaydedilmiştir.
Ancak yeni widget alanına bir widget eklerseniz, widget sitenizin önünde görünmez. Hala şablon dosyasına kodlanmaları gerekiyor. Widget alanınızı şablon dosyasına ekleyin Şimdi widget alanını görüntülemek için kodu ekliyoruz. Kendi temanızla çalışıyorsanız, yalnızca mevcut tema şablonu dosyasını düzenlemeniz gerekebilir. Bir çocuk temasıyla (veya temanızın alakalı bir şablon dosyası yoksa) çalışıyorsanız, yeni bir dosya oluşturmanız gerekir. Temasınız olmayacağından widget sayfa şablonu dosyasıyla başlayalım. Tema klasörünüzde yeni bir dosya oluşturun. Page_widgeted.php’m diyorum. Dosyayı açın ve bunu ekleyin:

CFD588488FF5AE99B25A30C5C5768E’nin özünü içerir
Bu, WordPress’e özel bir sayfa şablonu olduğunu söyler. Onlar hakkında daha fazla bilgi edinmek istiyorsanız, ayrıntılı kılavuzumuza bakın.
Not: Sayfa widget’ını dosya adınız olarak kullanmayın. Bunun nedeni, sayfanın- WordPress’te ayrılmış bir tasarısı olmasıdır. Bir bağlantı işareti yerine alt satırı kullanın veya isterseniz sayfayı hiç kullanmaktan kaçının.
Şimdi yorumlanan yorum altında, her şeyi sayfanızdan (veya üst temanız) kopyalayın. Alternatif, dosyanın bir kopyasını yapmak ve yorumlanan yorumu eklemektir, size kalmıştır. Artık sitenizdeki sayfaları düzenlerken bu şablonu seçebilirsiniz:
WordPress sayfa düzenleme ekranındaki sayfa şablonu seçmenleri.

Widget’ı deneyebilmeniz için sayfalarınızdan biri için seçin. Bu benim sayfam:
Widget’ları görüntülenmeyen sayfalar.

Şimdi çok ilginç görünmüyor çünkü widget alanını şablon dosyasına eklemedim. Bunu yapalım. Şablon dosyanızda, yukarıdaki içerik widget alanı için bu kodu sayfa içeriğinin hemen üzerine ekleyin:
CFD588488FF5AE99B25A30C5C5768E’nin özünü içerir

Bu, widget alanının doldurulup doldurulmadığını kontrol ederek, işlev dosyanıza kaydettirdiğinizde widget alanı için oluşturduğunuz benzersiz kimliği kullanarak kontrol eder. Doldurulmuşsa, widget alanı içeriğini görüntüler. Şimdi içeriğin altına widget alanını ekleyin. İçeriğinizden sonra (ve herhangi bir kapanış öğesinde) şunu ekleyin:
CFD588488FF5AE99B25A30C5C5768E’nin özünü içerir
Sayfa Şablon dosyanızı kaydedin. Aşağıda, sayfa şablonu dosyamın tam kodu, böylece widget alanının döngüden önce ve sonra nerede olduğunu görebilirsiniz:
CFD588488FF5AE99B25A30C5C5768E’nin özünü içerir
Şimdi test etmek için. Her yeni widget alanına bir widget ekledim:
İki yeni widget alanına widget ile yönetici widget ekranı eklenir.
Ve bu sayfamdaki görünüm:
İçerik öncesi ve sonrası widget’lara sahip sayfalar.
Yani bu özel sayfa şablonu ayarları. Şimdi diğer iki sayfa şablon dosyasını düzenlemeniz (veya gerekirse yapmanız gerekir). Bu adımı izleyin:

Bir alt tema ile çalışıyorsanız, kategori.php adlı bir dosya oluşturun. Kategori.php dosyasının içeriğini ana temanızdan (varsa) veya archive.php dosyasından (veya orada değilse index.php) kopyalayın.
Bir çocuk temasıyla çalışmıyorsanız, ancak temanızda bir dosya kategorisi.php yoksa, archive.php dosyasını kopyalayarak yapın (veya sahip değilseniz, dizin.php dosyası).

Widget alanını kategori arşiv dosyanızdaki içeriğin üzerine ekleyin – yine, döngüden hemen önce. Widget alanının kodunu takip edin:
CFD588488FF5AE99B25A30C5C5768E’nin özünü içerir
Şimdi bunu tek bir şablon için tekrarlayın:
Temanız yoksa (veya çocuk temasını kullanıyorsanız) tek post.php dosyası oluşturun. Tek post.php dosyasının içeriğini ana temanıza veya hiyerarşi şablonundaki bir sonraki şablon dosyasından kopyalayın (single.php, singular.php veya index.php).
Bir kez daha, Widget alanını ekleyin – bu sefer içerikten sonra.
Aşağıdaki kod:
CFD588488FF5AE99B25A30C5C5768E’nin özünü içerir
Şimdi bir widget eklerseniz, widget sitenizde görünecektir. Bu, bir gönderiden sonra en son yayınların bir listesini görüntüleyen benim:
Widget alanını şablona ekleyin, widget alanının esnekliğini sağlar, tema kullanıcılarınızın kod yazmak zorunda kalmadan ek içerik eklemelerine olanak tanır. Ama onlar sadece kenar çubuğu için değil. Şablon dosyanıza ek widget alanları eklemek, sitenizdeki widget ekleyebileceğiniz hedeflenen alanı, görünecekleri iyi kontrollerle sunar. İsterseniz bu örneği daha fazla alabilirsiniz, Widget alanını tüm dosyalarınıza ekleyebilir, hatta farklı içerik türleri için kenar çubuğu.php dosyasının farklı bir sürümünü kullanabilirsiniz. Dünya senin midyen!
Umarım bu yararlı öğreticiyi bulursunuz! Kod hakkında sorularınız varsa, lütfen aşağıdaki yorumları sorun.
Etiket:
Araç

admin

Bir Cevap Yazın

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