Kenar çubuğu wordpress. WordPress kenar çubukları, WordPress kenar çubuğu oluşturma. Varsayılan WordPress Widget'ları

İlk aktif widget panelini görüntüler (kenar çubuğu, en az bir widget içeren bir paneldir). Sitede birden fazla pencere öğesi paneli varsa, hangi panelin gösterileceğini ID veya numarasını belirleyebilirsiniz.

Dynamic_sidebar(), widget çubuğunu da görüntüleyen dönüş sonucuyla birlikte true veya false döndürür. Dönen değer, örneğin, panelde pencere öğesi yokken pencere öğelerinin yerini alan kodun işlenip işlenmeyeceğini belirlemek için kullanılabilir (bkz. örnek #1).

İadeler

widget paneli bulunduysa true . panel yoksa veya pencere öğesi içermiyorsa false.

kullanım

$ endeksi (dize/sayı) Panel kaydedildiğinde register_sidebar() işlevinin id parametresinde belirtilen panel kimliği. Bir sayı verilirse ID sidebar-$index olan panel aranır.
Varsayılan: 1 (kenar çubuğu-1)

örnekler

#1 Varsa, kenar çubuğunu görüntüleyin.

Bu örnek, boş olmayan ilk kenar çubuğunun nasıl görüntüleneceğini (kayıt sırasında kenar çubuğu kimliği belirtilmedi) veya bulunmazsa, belirtilen kodun nasıl işleneceğini gösterir:

#2 İstediğiniz kenar çubuğunu görüntüleyin.

#3 Panelin varlığını kontrol edin ve görüntüleyin

Örnek 2'de, içinde bir panel ve widget'ların olup olmadığını kontrol etmedik. Bu örnekte, gereksiz görüntüleme yapmamak için bir panel olup olmadığını kontrol edeceğiz. HTML etiketleri (

",

[ pastel boya - 5e1ff7d787fb8042608178 satır içi = "true" ] "after_widget" => "" ,

başlık_öncesi

Çoğu widget, kullanıcı girerse bir başlık görüntüler. Argüman başlık_öncesi bu, pencere öğesinin başlığının açılış öğesidir. Varsayılan olarak, WordPress bunu şu şekilde yazar: < h2 > . etiketleri kullanmak için < h2 > buna değmez, bu durumda etiketler iş görür < h3 > Ve < h4 > . Kodun sezgiselliği ve okunabilirliği için, sınıf adlarını tire olmadan yapmayın, böylece adı kendiniz okumanız daha uygun olur, siteyle bir süredir çalışmadıysanız çok önemlidir.

başlıktan sonra

Argüman başlıktan sonra bu, bağımsız değişkende belirtilen kapanış öğesidir başlık_öncesi. Varsayılan olarak, WordPress bunu şu şekilde yazar: < / h2 > .

Değerinin argümanda belirtilen değerle eşleştiğinden emin olmanız gerekir. başlık_öncesi.

"başlıktan sonra" => ""

"başlıktan sonra" => ""

Dinamik bir kenar çubuğu görüntüleme dynamic_sidebar()

Kenar çubuğunun oluşturulması tamamlandığında, onu temanın içinde görüntülemeye başlayabilirsiniz. WordPress bunun için bir işlev yarattı. < a title = "Codex Wordpress işlevi dynamic_sidebar()" href= "http://codex.wordpress.org/Function_Reference/dynamic_sidebar" target="_blank" > dynamic_sidebar()< / a > . Bu işlev her zaman bir parametre ister $ endeksi, her ikisi de bağımsız değişkende aynı anda bulunabilir İD ve bağımsız değişkende isim(kenar çubuğunun oluşturulması sırasında belirtilir). Her ikisini birden kullanmak teknik olarak mümkün olsa da sizin reçete ettiğinizi kullanmak çok daha güvenlidir. İD.

Aşağıdaki kodu şablonlarınızdan birinde kullanarak kenar çubuğunu konumlandırabilirsiniz. öncelik hemen yukarıda açıklanmıştır. dikkat divİle sınıf Ve İD Kendi takdirinize bağlı olarak değiştirebilir ve çeşitli vidalayabilirsiniz. css stiller

// site çubuğunun görüntüleme işlevini çağırın

< div id = "id-vidgeta-primary" class = "moi-saidbar" >

// site çubuğunun görüntüleme işlevini çağırın

< / div >

Genellikle bu kod dosyada bulunur. kenar çubuğu - birincil . php Kenar çubuğu şablonları hakkında konuşurken birazdan öğreneceksiniz. Fakat dinamik_kenar çubuğu() temanızın herhangi bir yerinde çağrılabilir.

  • yaparız ve

Varsayılan içerik ekranı

Bazı tema geliştiriciler, kullanıcı herhangi bir pencere öğesini belirli bir kenar çubuğuna sabitlememişse kendi içeriklerini görüntüler. Kenar çubuğunda widget'ları kontrol etmek için koşullu etiketi kullanın is_active_sidebar() .

Tıpkı bir fonksiyon gibi dinamik_kenar çubuğu(), kenar çubuğunu doldurmak için kullanılır, işlev is_active_sidebar() her zaman bir parametre ister $ endeksi olması gereken İD kontrol ettiğiniz kenar çubuğu.

Aşağıdaki kod ile kenar çubuğumuzu test edebiliriz. öncelik widget'lar için. Widget varsa onları göstereceğiz, yoksa özel olarak hazırladığımız içeriği göstereceğiz.

< div id = "id-vidgeta-primary" class = "moi-saidbar" >

< / div >

Widget olmadan kenar çubuğu görüntülenmiyor

Önceki bölüm, belirli bir kenar çubuğu etkin değilken eksik içeriği nasıl konumlandıracağınızı gösterdi, ancak kenar çubuğu etkin değilken bir kenar çubuğunu tamamen daraltma (hiçbir şey gösterme) seçeneğiniz de var.

Fonksiyonu tekrar kullanacağız is_active_sidebar() kenar çubuğunu kontrol etmek için öncelik widget'lar için.

< div id = "id-vidgeta-primary" class = "moi-saidbar" >

< / div >

Bu arada, burada bazı ilginç şeyler düşünebilirsiniz. Örneğin, içeriğiniz için hangi kenar çubuklarının etkin olup hangilerinin olmadığına göre dinamik bir kenar çubuğu genişliği oluşturabilirsiniz. Sonraki makalelerde bununla ilgili daha fazla bilgi.

Kenar Çubuğu Şablonları - Kenar Çubuğu

Dinamik bir kenar çubuğu oluşturmanın ve onunla çalışmanın tüm yönlerine değindik, ancak başka ilginç özelliklerin de olduğunu belirtmek gerekir. Öyleyse kenar çubuğu şablonlarına bir göz atalım.

Kenar çubuğu şablonu, dinamik kenar çubuğu kodunu barındırmak için kullanılır (yukarıdaki 'Dinamik Kenar Çubuğu Görünümü'ne bakın). Ortalama olarak, tüm WordPress temalarının adı verilen bir şablonu vardır. kenar çubuğu. php. Temanızın bir kenar çubuğu varsa, bu şablon yeterlidir.

Kenar çubuğu şablonları, işlev kullanılarak temanın içinde doldurulur get_sidebar().Aşağıdaki kod, genellikle bir dosyayı doldurmak için kullandığım koddur. kenar çubuğu. php.

[ pastel boya - 5e1ff7d788042260898923 satır içi = "doğru" ]

get_sidebar() ayrıca her zaman bir parametre ister $ isim, bu da daha spesifik kalıpları doldurmanıza izin verecektir. Örneğin, aşağıdaki kod bir şablon dosyası ister. kenar çubuğu - birincil . php.

[ pastel boya - 5e1ff7d788051693571425 satır içi = "doğru" ]

Temanızı düzenli tutmak ve kodu ayırmak için her dinamik kenar çubuğu için özel bir şablon oluşturmanız gerekir. Önce benzersiz özelliklere sahip iki dinamik kenar çubuğu oluşturmanızı öneririm. İD: öncelik Ve ikincil. Daha iyi organizasyon için iki dosya oluşturun: kenar çubuğu - birincil . php ve kenar çubuğu-ikincil. php.ini

Her iki şablonu da oluşturmak için aşağıdaki koda ihtiyacınız olacak.

[ pastel boya - 5e1ff7d788066428860015 satır içi = "doğru" ]

Yukarıda, şablon oluşturmak için kullandığım geleneksel kod var. Kişisel gereksinimlerinize en uygun şekilde biraz değiştirebilirsiniz. Yine de işlevi kullandığınızdan emin olmanız gerekir. get_sidebar() kenar çubuğu şablonunu doldururken.

Kenar çubuğu şablonlarının her zaman dinamik kenar çubukları göstermediğini unutmayın. Teknik olarak herhangi bir şeyi yansıtabilecek kodlanmış kullanıcı içeriği içerebilirler. Ayrıca, sitenin farklı sayfalarında görüntülemek için şablonunuzun hemen hemen her dosyasına dinamik bir kenar çubuğu yerleştirebileceğinizi unutmayın.

Hatalı kenar çubuğu kodu

İyi sitelerde kabul edilemez olan, koddan koda tekrarlanan bir dizi kusur vardır. Elbette hepsi teknik olarak yanlış değildir, ancak arızalara yol açabilir veya sadece fazladan bir kod yükü oluşturabilirler.

Sorun 1: Dağınık kod döküldü fonksiyonlar. php

Tema geliştiriyorsanız, WordPress yerleşik kancalarının kancalarla çalıştığını bilmeniz gerekir. Bunları sadece iyi bilmek değil, kullanmak da önemlidir. Bulduğum en büyük sorun, kodun içine döküldüğü fonksiyonlar. php. Bir kenar çubuğu kayıt işlevi oluşturmalı ve ardından onu widgets_init'e eklemelisiniz. Bunun nasıl yapılacağına dair bir örneği yukarıdaki Kaydolma ve Dinamik Kenar Çubuğu Oluşturma bölümünde görebilirsiniz.

Bir yan not olarak: Kodu içine dökebileceğinizi unutmalısınız. fonksiyonlar. php. Her zaman WordPress'teki kanca işlevini kullanın, bu, işlevlerinizin %100 tamamlanmasını sağlayacaktır.

Sorun 2: kayıtlı kimlik yok

Kimlik açıkça yazılmamışsa, bunun kesinlikle belirli sonuçlara yol açacağını anlamak önemlidir. kullandığınızda register_sidebar() veya register_sidebars() kişiye reçete yazmadan İD, WordPress otomatik olarak göstergeler oluşturur İD, önceden oluşturulmuş kenar çubuklarının sayısını sayar. Ve öyle görünüyor ki, her şey harika. Ama bu büyük bir hata. Sonuçta, bir eklenti veya çocuk teması yeni bir kenar çubuğu oluşturur, kenar çubuğuna id 1 atanır (akıştaki ilk ise), bu da diğer tüm kenar çubuklarının kimliğinin değişmesine neden olur. Kullanıcı kenar çubuğuna eriştiğinde, tüm widget'larının başka bir kenar çubuğuna atandığını görecektir.

Widget'lar, dinamik kenar çubuğuna göre eklenir. İD. Eğer İD değişir, widget'lar da hareket eder. Bu yüzden uygun şekilde reçete yazmak çok önemlidir. İD kenar çubuğunu oluştururken. Yukarıda, 'Kayıt ve dinamik bir kenar çubuğu oluşturma' bölümünde, bunu nasıl doğru yapacağınızı görebilirsiniz.

Net yazmanın bir diğer faydası İD tam olarak ne olduğunu biliyor musun İD gibi diğer işlevlerde kullanılmak üzere tasarlanmıştır. dinamik_kenar çubuğu() Ve is_active_sidebar işlevi_var() gerek yoktur. Bu makalede daha önce belirtildiği gibi, dinamik kenar çubukları 2007'den beri kullanılmaktadır. Bu kontrol türünü yalnızca geriye dönük uyumluluk için kullanabilirsiniz. Ancak çoğu tema geriye dönük uyumlu değildir ve önceki sürümden bu yana kullanmanızı önermiyorum.

Bir işlevin varlığını denetlemenin yaygın türlerinden biri register_sidebar() aşağıda sunulmuştur. Bu tür kontrolleri unutun ve sadece bir kenar çubuğu oluşturun.

eğer (işlev_varsa("kayıt_kenar çubuğu")) dinamik_kenar çubuğu içerir (TEMPLATEPATH . "/sidebar.php" ) ;

Bir temada kenar çubuğunu görüntülemenin en iyi yolu bu değildir. WordPress sisteminin bir işlevi vardır get_sidebar(), bununla bunu kolayca yapabilirsiniz. Her zaman yukarıdaki 'Kenar Çubuğu Şablonları' bölümündeki örnekte gösterildiği gibi kullanın. Bu işlevi kullanmalısınız çünkü kanca

Bazen sadece 1 kenar çubuğunun olduğu ve temanın ihtiyaçları için kullanıldığı temalar vardır ve oraya yeni widget'lar yerleştiremezsiniz. Belki de mevcut bir tema şablonunu değiştirmeniz ve ek bir kenar çubuğu eklemeniz gerekiyor, diyelim ki temanın solunda bir tane var ama sağda bir tane daha eklemeniz gerekiyor.

Bu sorunu çözmek hiç de zor değil. Kenar çubuğunu yerleştirmek istediğiniz sayfanın functions.php tema dosyalarında ve şablon dosyasında küçük değişiklikler yapmanız yeterlidir. Sayfaların görüntülenmesinden hangi dosyanın sorumlu olduğunu nasıl öğrenebilirim?

Öncelikle yeni bir kenar çubuğu kaydetmeniz gerekir. Bu, şablon klasöründeki functions.php dosyasında yapılır. register_sidebar(array("name" =>"Yeni kenar çubuğu", "id" => "ikincil-widget-alanı", "before_widget" => ")
  • "," after_widget" => "
  • ", "before_title" => "

    "," after_title" => "

    ",));

    Bitti, widget kontrol panelinde yeni bir kenar çubuğu belirdi. Geriye kalan tek şey, style.css dosyasındaki görünümünü biraz özelleştirmek için kalır (görünümü mevcut olandan kopyalayabilirsiniz)

    kodda ne var

    İsim– kenar çubuğunun adı (kenar çubuğu), yönetici paneli Widget'larında görüntülenecektir.
    İD- benzersiz tanımlayıcı. Sayfaya eklerken gerekli.
    önce_widget- her widget'tan önce eklenecek kod veya metin.
    after_widget- her pencere öğesinden sonra eklenecek kod veya metin.
    başlık_öncesi– widget başlığından önce eklenecek kod veya metin.
    başlıktan sonra– widget başlığından sonra eklenecek kod veya metin.

    Kenar çubuğunun adı olan kimliğe dikkat edin, bu durumda "ikincil pencere öğesi alanı" dır. Bu, functions.php dosyasında kayıt sırasında belirtilen adla tamamen aynı olmalıdır.

    Kenar Çubuğu, sitede widget'ların gömülü olduğu özel bir alandır. Diğer bir deyişle, dinamik içeriğe sahip bir sütundur. Hemen hemen tüm şablonlarda bu tür sütunlar bulunur ve sayıları farklı olabilir. Genellikle 1 ila 4 sütun arasında kullanılır.

    Herhangi bir şablonu olabildiğince benzersiz kılmak veya yalnızca görünümü iyileştirmek veya göze çarpmak için standart, ücretsiz ve ücretli WordPress şablonlarında ana metin alanına göre sütunların konumunu değiştirebilirsiniz, biz de bunu yapacağız. Bu makalede.

    Kenar çubuğunun ve gövde metninin konumunu değiştirme

    Öyleyse, kullandığımız şablonda widget'lar için bir sütun, yani bir kenar çubuğu ve makalelerimizin ve sayfalarımızın metninin yerleştirildiği bir ana sütun olduğunu varsayalım:

    Widget'lı sütunun sağda olmasına izin verin ve onu sola, en kenara taşımamız gerekiyor. Buna göre, ana metin içeriğine sahip sütun en sağa doğru hareket edecektir.

    Tüm bunları yapmak için stilleri biraz değiştirmeniz gerekiyor. Metin içeriği genellikle #content stiline sahipken, widget içeriği genellikle #sidebar stiline sahiptir. Gereken tek şey, birincisinin özelliklerini float'tan değiştirmek: left; yüzer durumda: sağ; ve ikincisi için farklı bir sırayla.

    Twenty Twelwe temasındaki kenar çubuğunun konumunu değiştirin

    WordPress için standart bir duyarlı tema örneğinde yukarıdakilerin tümünü göz önünde bulundurun.

    Kenar çubuğu - hemen hemen her sitenin, genellikle içerik alanının soluna, sağına veya altbilginin (altbilgi) önüne yerleştirilen bölümü. WordPress kenar çubukları bir istisna değildir. Tek fark, WordPress'te bir kenar çubuğunun, widget'ların otomatik olarak görüntülendiği bir alandır. WordPress'te sınırsız sayıda kenar çubuğu oluşturabilirsiniz, ancak örneğin, ana içerik alanının solunda ve sağında iki kenar çubuğu oluşturacağım.

    WordPress Kenar Çubuklarını Kaydetme

    Kenar çubuklarının yönetici panelinde ilk olarak görüntülenmesi için bunları kaydetmemiz gerekiyor. Başka bir deyişle, functions.php dosyasına kodu ekleyin:

    /** * Kenar çubuklarını kaydedin. */ function fwbs_widgets_init() ( register_sidebar("ad" => __("Sağ sütun", "fwbs"), "id" => "kenar çubuğu-1", "açıklama" => __("Sağ kenar çubuğu " , "fwbs"), "widget'tan önce" => "

    ", "before_title" => "

    "," after_title" => "

    ",)); register_sidebar(array("ad" => __("Sol sütun", "fwbs"), "id" => "kenar çubuğu-2", "açıklama" => __("Site altbilgisinde sol sütun "," fwbs"), "before_widget" => " ", "before_title" => "

    "," after_title" => "

    ",)); ) add_action("widgets_init", "fwbs_widgets_init");

    WordPress kenar çubukları oluşturmak için yukarıdaki kodu ayrıştırma

    İlk bakışta göründüğü kadar karmaşık değil.

    • "ad" => __("Sağ sütun", "fwbs") - widget alanının adı, parantezlerin arasına herhangi bir ad yazabilirsiniz, ekrana bakın nerede görüntülendiğini görebilirsiniz;
    • "id" => "sidebar-1" - Kimlik, kenar çubuğuna atanan benzersiz bir tanımlayıcıdır, tüm kenar çubuklarının diğer kimliklerden farklı olarak kendi kimlikleri olmalıdır;
    • "description" => __("Sağ taraftaki sütun", "fwbs") - widget bölgesinin adına benzer açıklama;
    • "önce_widget" => "
    • "after_widget" => "" - kenar çubuğu bölgesini kapatan HTML etiketi. Bildiğimiz gibi, bazı istisnalar dışında tüm HTML etiketleri eşleştirilmelidir (açma ve kapatma);
    • "before_title" => "

      " - widget başlığı, sınıfla birlikte bir H4 etiketine sarılacak

      , H1, H2, H3, H4, H5, H6 başlığının önemini değiştirebilir ve kendi sınıflarınızı atayabilirsiniz;

    • "başlıktan sonra" => ""- kapanışWidget'ın başlığı için çift etiketi.

    Şimdi yönetici paneline, "widget'lar" bölümüne gidiyoruz ve sonuca bakıyoruz. İşte sahip olduklarımın bir resmi:

    Bu kod ile iki WordPress widget bölgesini kaydettim, şimdi bunları ekranda göstermem gerekiyor.

    WordPress Kenar Çubuklarını Görüntüleme

    Kenar çubuklarını şablonun herhangi bir yerinde görüntülemek için aşağıdaki kodu doğru yere yazmak mantıklıdır:

    Kodla ilgili birkaç açıklama:

    • - Komut veren PHP kodu, kenar çubuğunda id=sidebar-1 altında widget varsa ekranda görüntülenmelidir, widget yoksa kenar çubuğu görüntülenmez;
    • - Şablon kodunda yazdığınız yerde id=sidebar-1 altındaki kenar çubuğunu çağıran PHP kodu.

    Ancak görebileceğiniz gibi, WordPress şablonlarında, kenar çubuğu çıktı kodu ayrı sidebar.php dosyalarına yerleştirilir ve ardından içerik, şablonda doğru yerde sidebar.php dosyasından çıkarılır. WordPress'in içeriği dinamik olarak işlediğini ve site şablonunun birkaç bölümden oluştuğunu bildiğimiz için, parçalarından biri sidebar.php dosyasıdır.

    Sidebar.php dosyasını oluşturma

    sidebar-right.php gibi bir dosya oluşturun, ona bir başlık verin ve yukarıdaki kodu içine yapıştırın. Hep birlikte şöyle görünecek:

    Örnekten de görebileceğiniz gibi, kodu ek HTML işaretlemesiyle tamamladım. Şimdi widget alanını görüntülemek için aşağıdakileri doğru yere yazmak kalıyor:

    Sol taraftaki sütun için, sidebar-left.php dosyası buna göre oluşturulur ve şablonun doğru yerine şu şekilde çıktı verir:

    Dedikleri gibi, kodda bir fark bulun.

    İşte bu kadar, kenar çubukları oluşturuldu, şimdi geriye kalan tek şey şablonda onlar için işaretleme oluşturmak ve CSS stilleri yazmak.



    
    Tepe