it-swarm.asia

Farklı sayfa şablonlarında farklı widget'lar?

Birkaç farklı Sayfa şablonum varsa, bu şablonların her biri için farklı bir kenar çubuğu widget koleksiyonunu nasıl gösteririm? Starkers temasını başlangıç ​​noktası olarak kullanıyorum.

4
cannyboy

Functions.php dosyanızda daha fazla kenar çubuğu oluşturmanız ve ardından istediğiniz kenar çubuğunu çağırmak için sayfa şablonlarını düzenlemeniz gerekir.

Kenar çubuğu ekleme

Functions.php dosyasına gidin. Zaten kayıtlı bazı kenar çubuklarını görmelisiniz. Kod şöyle görünecek:

//Adds default sidebar
 if ( function_exists('register_sidebar') )
 register_sidebar();

Başka bir kenar çubuğu eklemek için, mevcut kenar çubuğu kaydından sonra istediğiniz sayıda aşağıdaki kodu ekleyin.

//Registers new sidebar
if ( function_exists('register_sidebar') ) {
    register_sidebar(array('name' => 'Name Sidebar Here','before_widget' => '','after_widget' => '','before_title' => '<h2 class="widgettitle">','after_title' => '</h2>'));    
} 

'Buradaki kenar çubuğu adı' ifadesi, bu yeni kenar çubuğu için mantıklı bir ad koyar. Dizinin geri kalanı, temanızın tasarımı için bunu gerektiriyorsa ve widget'in (after_widget) kodundan sonra HTML koymasını sağlar. Ayrıca, temalarda daha sık kullanılan, widget başlıkları için özel bir stildir. Bu HTML'yi başlıktan önce (before_title) ve başlıktan sonra (after_title) koyabilirsiniz. Yukarıdaki örnekte, her widget başlığında <h2 class="widgettitle"> yerleştirilmiş ve açılış etiketini kapatmak için ondan sonra yerleştirilmiş olacaktır.

Yeni kenar çubuğunu sayfa şablonlarına ekle

Artık bir kenar çubuğu eklediğinize göre, onu istediğiniz sayfa şablonuna koymanız gerekir. Varsayılan kenar çubuğunun şablonunuzun neresinde (genellikle) çağrıldığını bulun ve aşağıdakileri değiştirin; sayı, kenar çubuğunun işlevler.php dosyasına eklendiği sıradır.

<?phpif ( !function_exists('dynamic_sidebar') || !dynamic_sidebar(Sidebar number here) ) : ?><?php endif; ?>

Bu kenar çubuğu functions.php dosyasına eklenen ikinci bölümdü, bu yüzden sayfa şablonunda çağırmak için !dynamic_sidebar(Put sidebar number here) ) içine 2 koyacaksınız.

Widget ekle

Sayfa şablonuna ekledikten sonra Görünüm -> Widget'lar yönetim sayfanızdaki kenar çubuğuna widget ekleyin. Yeni kenar çubuğu, ona options.php dosyasında verdiğiniz adla birlikte görünecektir.

Bu yardımcı olur umarım!

8
Joshua Lynch

Ve Widget Mantığı ayrıca bir seçenektir.

3
ZaMoose
  1. Widget Mantık bir çözümdür - çok iyi.

  2. Birden çok kenar çubuğu daha sağlam bir çözümdür, çünkü işlevlerin tümü/sonrası _widget işaretlemesini tamamen özelleştirebilirsiniz. Bu kenar çubuklarından herhangi bir sayıda yapabileceğinizi söylemeye gerek yok.

  3. Daha hafif bir çözüm, css üzerindeki sayfa türlerini ayırt etmek için vücut sınıfını kullanmak olabilir. İstemediğiniz şeyleri gizleyin, yaptığınız şeyleri görüntüleyin. Bu tür şeyleri gerçekleştirmenin hızlı ve basit bir yolu.

1
eddiemoya

Başka bir çözüm ise Display-Widgets plugin, kenar çubuğunuzda/etkinlinizde etkinleştirdiğiniz her widget'a açılır menü ekler; burada hangi sayfaları/yayınların gösterileceğini veya gizleneceğini seçebilirsiniz.

1
Philip

diğer iki seçenek: 1. 'sidebar.php' i daha karmaşık hale getirmek yerine, yeni widgetized yeni kenar çubuklarını 'sidebar-xxx.php' adlı yeni bir kenar çubuğu dosyasına ekleyin ve sonra sayfa şablonunda kullanın.

  1. içeriksel gereçler eklentiyi kullanabilirsiniz
0
hannit cohen