15 Haziran 2008

Alt Kategoriler Bileşeni (Widget)

WordPress Yorum Ekle

WordPress Türkiye'nin forumunda şöyle bir widget isteği olmuştu. Okunmakta olunan yazının ya da listelenen kategorinin ana kategorisinin alt kategorileri yan tarafta listelensin istenmişti. Benim de yapmayı düşündüğüm bir bileşendi, yakın zamanda ihtiyacım olabilir diye düşünüyordum. Gerçi benim esas işime yarayacak olan yazı ile aynı kategorideki yazıları yan tarafta listeletmekti. Onu da bir iki hafta içinde yapıp, yayınlarım.
Bileşenin yaptığı iş, tekil yazı olarak okunan yazının kategorisinin ya da yazıları listelenen (bir kategoriye tıklandığında) kategorinin ana kategorisini bulmak, bu ana kategorinin alt kategorilerini liste olarak yan menüde göstermek. Eğer alt kategorileri olmayan bir ana kategori tıklanmışsa, herhangi bir şey gösterilmez.
Kurulum:
Bileşeni buradan indirin. Sitenizin wp-content/plugin klasörüne gönderin. Yönetim panelinden Alt Kategoriler Bileşeni'ni etkinleştirin.
Kullanım:
Tasarım/Bileşenler ekranına gelin. Alt Kategoriler 1 bileşenini yan menüye ekleyin. Bileşenin ayarlarından bileşen için bir başlık belirleyin.
Bileşen sitemde 07.07.2008 tarihine kadar aktif olacak. Deneme yapmak için Örneğin: Ajax kategorisine tıklayabilirsiniz. Tıkladığınızda Alt Kategoriler başlıklı yeni bir menü ortaya çıkacak.
Faydalı olması dileğiyle...
Not: Hata ya da eksiklikleri bildirmenizi rica ediyorum. Local'de WP 2.5.1 ile denenmiştir.


Bu yazının kısa bağlantısı http://www.yakupgovler.com/?p=163.

Yazılarımı RSS aboneliği ile takip edebilir, yeni yazılarıma kolaylıkla ulaşabilirsiniz. Bunun için ise RSS adresimi kullanabilirsiniz.


“Alt Kategoriler Bileşeni (Widget)” yazısı için 38 Yorum

Bu yazıya yapılan yorumları dilerseniz, ( RSS 2.0 ) beslemesini kullanarak takibe alabilirsiniz.

  1. Dursun S.Ahmet dedi ki:

    Rabbim sizden razı olsun. Tam olarak arzu ettiğim gibi.
    inanıyorumki benim gibi birçok kişinin işine yarayacak bir bileşen. Önemli bir eksikliği giderdiniz duanız ve kazancınız bol olur inşallah.

  2. Yakup Gövler dedi ki:

    Güzel duanız için teşekkür ederim. Yardımcı olabildiğime sevindim.

  3. Dursun S.Ahmet dedi ki:

    Şimdi fark ettiğim bir tecrübeyi belirtmek isterim. Biz şimdi bu eklentiyi menü olarak kullanacağız. Sitemizdeki bir ziyaretçiye menümüzdeki "Photoshop" ana kategorisine tıkladığında bunun alt kategorilerini görmek oldukça güzel olurdu ancak henüz bu eklenti henüz bunu yapamıyor.
    Eklenti şu an sadece tekil yazı sayfalarında çalışıyor.
    Bir kategori deki yazıların listelendiği sayfada da ilgili üst kategorinin alt kategorilerini listeleme foksiyonu eklenebilirse çok iyi olur.
    Eklenti şu an sadece tekil yazı sayfalarında çalışıyor.

  4. Yakup Gövler dedi ki:

    Eklentiyi isteğiniz üzerine düzenledim. Artık sadece tekil yazılarda değil, bir kategoriye tıklandığında eğer kategorinin ana kategorisi varsa bunun alt kategorilerini eğer tıklanan kategori ana kategori ise onun alt kategorilerini gösteriyor. Alt kategorisi olmayan bir ana kategoriye tıklanmışsa hiçbir şey göstermiyor.

  5. Dursun S.Ahmet dedi ki:

    Diyecek söz bulamıyorum. Bu dünya için Hz Hızır (a.s.) meziyetiyle nasiplendirilmiş gibisiniz. Dileğim her iki cihanda Allah katında yeriniz Hazretleri gibi yüksek olur.

  6. Dursun S.Ahmet dedi ki:

    Son düzenlemenizde şöyle bir hata ile karşılaştım. Eklenti bileşenlerde eklenmiş görünse de sayfada görüntülenmiyor ve Wp nin kategoriler bileşeniyle kullanıldığında bir kategoriye tıklandığında (bileşenimiz yine gözükmez iken)daha önce başlık ve yazıları göstererek listelenen konular bu şekilde sadece başlıkları ile (linkli olarak) listeleniyor.

  7. Yakup Gövler dedi ki:

    Uyarınız için teşekkürler, problemi giderdim. Tekrar indirip, denerseniz sevinirim. Küçük bir satırı eklemeyi unutmuşum 🙂
    Local'de denedim, bir problem göremedim. Local'de kullandığım temam biraz farklı olduğundan hatayı farkedememiştim, uyarınız üzerine dikkat ettiğimde farkettim. Tekrar teşekkürler...

  8. Dursun S.Ahmet dedi ki:

    Yakup Bey ; kategori sayfasında çalışmıyor ama tekil yazı sayfasında sorunsuz şu anda.

  9. Yakup Gövler dedi ki:

    Sanırım kalıcı bağlantıları kullanıyorsunuz. Bileşeni yazarken kalıcı bağlantıları kullanmıyordum. İşin kolayına kaçıp, $_GET['cat'] ile tıklanan kategorinin id'sini alıyordum ama kalıcı bağlantılarda bu işe yaramıyormuş. Biraz araştırmanın ardından
    global $wp_query;
    $cat_obj = $wp_query->get_queried_object();
    $kategori_no = $cat_obj->cat_ID;
    $kategori_anasi = $cat_obj->parent;
    şeklinde alabiliyormuşuz. Bileşeni onuncu kez ve umarım son kez düzenledim 🙂

  10. Dursun S.Ahmet dedi ki:

    Elinize sağlık. Şu hali ile sanırım sorunsuz.
    Dün tüm gün dışarıda olduğum için deneme fırsatım olmadı. Gerçi bir ara girdim ama ne şanssa sunucumda sorun vardı bu sırada da. Gecikme için kusurunma bakmayın.

    Bileşen bu hali ile fevkalede benim işimi görüyor. Ancak kullanılırlığını artıracağını düşündüğüm bir önerim olacak; Birçok kişi bu eklentiyi kulandığında mevcut kategorileri listeleyen bileşeni kaldıracaktır. Bu durumda ana kategorileri belirtem ihtiyacı doğuyor. Ben bunu metin ekleme bileşeni ile ana kategorilerimi linkleyerek aştım. Bileşene ana kategorileri de listelettirebilirsek daha kullanışlı bulunacağı düşüncesindeyim.

    Tekrar her aşamadaki inanılmaz ilginiz ve çabanız için teşekkür ederim. Hakkınızda sayfanızdan öğrendim aynı zamanda bir eğitimciymişsiniz. Öğrencileriniz çok şanslı. Tabii bizlerde o şansı sizi tanıdığımız için paylaşıyoruz.
    Ellerinize bilginize sağlık Hocam!

  11. Yakup Gövler dedi ki:

    Dursun Bey,
    Güzel iltifatlarınız için teşekkür ederim. İşinizi gördüğü için de ayrıca mutluyum.
    Önerinizi okudum ama pek anlayamadım. Bileşenin yapmasını istediğiniz normal zamanda sadece ana kategorileri göstersin ama bir yazı okurken ya da bir kategori seçildiğinde ana kategoriler yerine alt kategorileri mi göstersin?
    Veya normal zamanda ana kategorileri göstersin ama bir yazı ya da kategoriye tıklandığında onun ana kategorisinin hemen altında alt kategoriler listelensin ama aynı zamanda diğer ana kategoriler de kalsın mı istiyorsunuz? Yani normal zamanda kategoriler aşağıdaki gibi
    Photoshop
    Flash
    Dreamweaver
    ama örneğin Flash'ın bir alt kategorisindeki bir yazı okunurken ya da Flash kategorisine tıklandığında

    Photoshop
    Flash
      Metin Efektleri
      Animasyonlar
      Dersler
    Dreamweaver
    

    şeklinde mi görünsün, tabiki aynı yapı diğerleri için geçerli olacak şekilde?
    Ben bileşeni kullanacakların bileşeni normal Kategoriler bileşeninin hemen üstüne koyarlar diye düşünmüştüm. Zaten normal zamanda görünmeyeceğinden ikisi birden de aynı zamanda kullanılabilir bence. Hatta böylesi daha şık olurdu. Hele de 3 sütunlu, iki sidebarlı bir yapıda bir tarafa ana kategoriler diğer tarafa alt kategoriler bileşenleri konduğunda bence çok şık olacaktır.
    Cevap yazabilirsiniz çok memnun olurum.

  12. Dursun S.Ahmet dedi ki:

    Bir haftadır buraya bakmadım. İnsan işi görüldümü bi daha uğramıyor. Vefasızlığım için özür dilerim.
    Yeni bir wp kullanıcısıyım. Wp nin kategori bileşeninde alt kategorilerin gösterimini kapatmanın bir yolunu ben bilmiyorum. Bu sebeple benim gibi bilgisi yetersiz kullanıcıların her iki bileşeni birlikte kullanacaklarını sanmam. Ben metin ekleme eklentisini kullanarak ana kategorileri leri listeledim ve alt kategoriler eklentisinin hemen üzerine yerleştirdim.

    sizin örneğinizde gösterdiğiniz "
    Photoshop
    Flash
    Metin Efektleri
    Flash Animasyonlar
    Flash Dersler
    Dreamweaver
    "
    gibi olması çok daha şık durur. Tabi bu benim görüşüm. Belki dediğiniz gibi kategoriler bileşeniyle beraber bir yerleşimi de kullanışlı bulanlar çıka bilir. Salt benim fikrime sabit kalmayınız.

  13. Dursun S.Ahmet dedi ki:

    İleti gönderirken benim örnek menü şablonundaki boşluklar kaybolmuş.
    "
    Photoshop
    Flash
    . Metin Efektleri
    . Flash Animasyonlar
    . Flash Dersler
    Dreamweaver
    "
    gibi ağaç benü şeklinde, sizin gibi yazmıştım.

  14. Derman dedi ki:

    Merhaba, bu eklenti için size çok teşekkür ediyorum. Benim yapmak istediğim buna çok benzeyen bir şey ama tam olarak bu değil. Örneğin sağlık diye bir üst kategorim var onun da altında alt kategoriler ve alt kategorilere bağlı daha da alt kategoriler var. Ben sağlık kategorisine tıkladığımda alt kategorilere bağlı tekil yazılar değil de sizin bileşende çıkardığınızalt kategoriler listelensin istiyorum. Acaba sizin widget olarak eklediğiniz kodları archive.php ye uyarlasak tekil yazılar yerine alt kategorileri listeleyemez miyiz? Bu konuda çok araştırma yaptım ama hiçbir sonu elde edemedim. İstediğimi yapmaya en çok sizin sayenizde yaklaştım. Eğer bunu da yapabilirsem size minnettar kalırım. Sizden cevap bekliyorum. Teşekkürler

  15. Yakup Gövler dedi ki:

    Tabiki olur. Bileşenimin nk_cats_sub_cat_widget() fonksiyonu içerisindeki kodlar, tıklanan kategorinin ana kategorisinin alt kategorilerini listeler. Biraz düzenleme ile tıklanan kategorinin alt kategorilerini listeleyecek hale dönüştürülebilir. Fonksiyon içerisindeki kodların düzenlenmiş haline http://pastebin.com/f127ad499 adresinden ulaşabilirsiniz
    Bu kodları archive.php dosyanızın uygun bir yerine çalışacak şekilde koyarsanız belki birşeyler elde edebilirsiniz. Şu an deneme yapamıyorum. Eğer PHP bilginiz yeterliyse wp-includes klasörü içerisindeki category-template.php dosyası içerisindeki get_category_children fonksiyonunu incelemenizi öneririm.

  16. Derman dedi ki:

    Merhabalar hocam, ilginiz için çok teşekkürler. Bu verdiğiniz kodu arsiv.php ye ekledim ancak bir değişiklik olmadı sadece kodlar göründü. Acaba fazladan yapmamız gereken bir şey mi var? Ayrıca bahsettiğiniz category-template.php dosyasında ne gibi değişiklikler yapmamız gerekiyor bundan da bahsederseniz çok sevinirim. Çok teşekkürler.

  17. Yakup Gövler dedi ki:

    arsiv.php'de bunları < ?php ile ?> arasında olacak şekilde yerleştirmeniz gerekiyor, < ile ? arasında boşluk olmadan. Ben PHP bilginiz var diye düşünmüştüm. category-template.php dosyasında bir düzenleme yapmanız gerekmiyor. Sadece eğer inceleme yapmak isterseniz diye düşünmüştüm.

  18. OYUNKES dedi ki:

    bendede aynı sorun

  19. Derman dedi ki:

    Teşekkürler değerli hocam sayenizde en çok yapmak istediğim şeyi başardım. Aslında bu wp sistemindeki en büyük eksikti. Bu kodlarla bu eksiklik giderilmiş oldu tekrardan çok teşekkür ediyorum. Ancak çok küçük bir sorun var hocam:

    Kategoriler şu şekilde:

    Teknoloji üst kategori
    Bilgisayar bir alt kategori
    Bilgisayara ait alt kategorileri hiyerarşik düzende listeleyemedim. Yani hepsi aynı hizada oluyor.

    Bu kategorileri ya hiyerarşik düzende yapmak istiyorum ya da alt kategorinin alt kategorisini göstermemek istiyorum. Sizce bunun için nasıl bir şey yapmalıyız?

    Şimdiden teşekkürler hocam.

    Saygılarımla...

  20. Yakup Gövler dedi ki:

    O konuyu ben de araştırdım. WordPress nasıl yapıyor diye ve öğrendim ki o kadar basit değilmiş zira WP belki de 10-15 sorgu bir sürü döngü ile bu işi yapıyor ve kullandığı kodlamayı anlamak biraz zor. Bu nedenle o işi rafa kaldırdım belki zaman ayırabileceğim bir zaman olursa tekrar dönerim.
    Bu arada bagün tatile çıkıyorum uzun bir süre olmayabilirim.

  21. Hüseyin dedi ki:

    Hocam ellerine sağlık çok kritik bir noktada hızır gibi yetiştin 😀

  22. Hüseyin dedi ki:

    Du bidaa teşekkür ediim 😀

  23. arda dedi ki:

    Hocam merhaba, burada ( http://pastebin.com/f127ad499 ) verdiğiniz kodları ben de kullandım. Benim de sorunum aynı. Yani sitemde 3 ya da 4 düzeyli bir kategori hiyerarşisi var. Ve bunları hiyerarşik olarak listelemek gerekiyor. Yoksa hangi kategori neyin alt kategorisi karışıyor. Acaba bu hiyerarşik listeleme konusunda bir gelişme var mı diye sorayım dedim. Şimdiden teşekkürler hocam.

  24. Yakup Gövler dedi ki:

    @arda,
    Ne yazık ki şu an konu ile ilgili bir gelişme yok. Önceki mesajımda da dediğim gibi sistem çok karışık ve çok ağır. Aklıma geçenlerde bir yöntem geldi ama şu an bilgisayarımda deneme yapamadığımdan uygulayamıyorum. Ayrıca WP 2.7'nin stabil sürümü çıkacak bu günlerde belki o zaman tekrar bir önceleyebilirim, kodlarda değişiklik yapabilirler.

  25. arda dedi ki:

    Tekrar merhaba hocam, bu sayfanız sık kullanılanlardaydı 2.7 de çıkınca tekrar size sormak istedim. Ben uzunca bir süre verdiğiniz kodlara kafa yordum yüzlerce kez üzerinde oynamalar yaptım ama her defasında bilgisizliğim yüzünden başaramadım. 3-4 düzeyli kategori hiyerarşisi var ve hepsi aynı hizada çıkıyor. Hangisi neyin alt kategorisi karışıyor. Siz yeni sürümü inceleyebildiniz mi? Tekrar teşekkür ederim hocam. Sağlıcakla kalın.

  26. Yakup Gövler dedi ki:

    Ne yazık ki durum hala aynı. Bu iş için özel bir sınıf kullanılıyor ve sınıf bütün kategorileri işleyip, hiyerarşik olarak gösteriyor. Şu an için eklentide yapılabilecek bir şey yok.

  27. arda dedi ki:

    Anladım hocam, yine de teşekkür ediyorum. Kolay gelsin.

  28. serdar dedi ki:

    merhaba gerçi size mail atmıştım ama yaptım tam istediğime yakın oldu yalnız iki sorum olacaktı

    Kategoriler

    * Ana Sayfa
    * programcılık
    * Asp
    * Delphi

    videolar altında iki tane alt kategorim var asp ve delphi ben şunu istiyorum ekranda alt kategoriler gözükmesin yalnız ilgili üst kategoriye tıkladığında alt kategoriler çıksın

    yani

    * ana sayfa
    * programcılık
    ekranda çıksın programcılığa tıkladığımda onun altı olan asp ve delphi çıksın umarım anlatabilmişimdir

    birde sizin bileşeni kurduğum zaman
    üst yer alan ana sayfa hakkımızda gibi menü başlıkları yok oldu ? nasıl çıkartabilirim
    teşekkürler

  29. daRaL dedi ki:

    Yakup merhaba ;

    bu eklenti içerisinden belirli kodlar alınarak archive.php veya category.php içerisinde söyle bir şey yapabilir miyiz ?

    Örnek : " siteadi.com/kategori/a " A isimli ana kategori adı altındaki tüm alt kategorileri o kategori sayfasında listeletmek mümkün mü ?

    Bu konu da bilgi verirsen sevinirim. iyi çalışmalar kolay gelsin.

  30. Yakup Gövler dedi ki:

    http://www.yakupgovler.com/?p=217 adresindeki fonksiyonu kullanarak yapabilirsiniz. Alt kategorileri gösterme ile ilgili kısmı inceleyin.

  31. zafer dedi ki:

    Selam ben http://www.tatilsehri.org sitemde Ana kategoriler ve bir sürü alt kategori yayınlattım.

    Ben sağ tarafta çıkan ana kategori tıklandığı zaman ajax olarak alt kategorilerinin açılmasını istiyorum.

    Fakat bu dediğiniz sitemi yapmaya kalkınca olmuyor. Ben WİDGET olarak kullanmadığımdan mıdır acaba?

    Yardımcı olurmusunuz tşkler.

  32. Yakup Gövler dedi ki:

    Bu eklentinin yaptığı iş sadece belirlediğiniz bir kategorinin alt kategorilerini yan menüye ekleyebilmenizi sağlamaktır. Bahsettiğiniz işi yapan ağaç yapısı şeklindeki bir eklentiye buradan veya başkasını buradan ya da benzer bir tane de buradan ulaşabilirsiniz.

  33. zafer dedi ki:

    Off ya:(

    o kadar uğraştım yapamadım. Temada WİDGET yok. desteklemiyor.

    elle manuel nasıl entegre edecez bunları 🙁

  34. Alper dedi ki:

    Hocam, widget desteği yok nasıl manuel eklicez ?

  35. AYDIN dedi ki:

    merhaba, bu bileşeni kod olarak sidebara ekliyemezmiyiz ?

  36. Yakup Gövler dedi ki:

    Bileşeni bu haliyle, kod kullanarak kullanamazsınız. Bileşen olarak kullanmanız gerekiyor.

  37. Kalpsiz dedi ki:

    Merhaba arkadşalar benim bir sorum olucak,yukarıdaki açıklamaları okudum ama sanırım ben bunun tam tersini istiyorum sağ taraftaki kategorilerde alt kategorilerin gözükmesini istemiyorum Böyle birşey mümkünmü??

  38. aydın dedi ki:

    hocam birden fazla kategoriyi seçerek listeletmek mümkün mü..