Merhaba arkadaşlar,
Ben alt kategorileri sayfanın başka bir yerine daha koymak istiyorum fakat wordpress yapısı biraz karmaşık zamanda kaybetmek istemiyorum. Eğer bilen PHP'çi arkadaş varsa yardımcı olursa sevinirim.
Alt kategorileri nasıl taşırım.
Merhaba arkadaşlar,
Ben alt kategorileri sayfanın başka bir yerine daha koymak istiyorum fakat wordpress yapısı biraz karmaşık zamanda kaybetmek istemiyorum. Eğer bilen PHP'çi arkadaş varsa yardımcı olursa sevinirim.
Alt kategorileri nasıl taşırım.
Benim kod bilgim yok ama Wordpressin çok kolay olduğunu çok duydum, burada (2 no'lu resim) ve burada, burada, burada çok seçenek var inceleyin, çok hızlı bir cevap isterseniz; temanızda (varsa) muhtemelen sidebar.php'den kategoriler kodunu alıp istediğiniz yere koymanız, ama bu çok hızlı ve çok yüzeysel bir cevap olur, zira bu işlem tüm kategorileri gösterir, gerçi bununda çok kolay bir çözümü var, bu eklenti ile istediğiniz yerde sadece istediğiniz kategoriyi göstermek çok mu çok kolay, çok işe yarar bir cevap veremediğimi biliyorum ama niyetim çok çok vıdı vıdı vb :)....
Süpersin :) Bıdı bıdı bıdı... :D
Dediklerini yaptım ve birazda kodsal olarak düzenlemeler yaptım. Ama alt kategorileri, ana kategorileri olmadan alamadım.
Resimdeki gibi bir sonuç ortaya çıktı. Benim istediğim ise sadece 1-2-3-4'de ki gibi alt kategorileri listelemek. :)
Tam olarak yapmak istediğin nedir? Ana kategorileri bir yerde bütün alt kategorileri ayrı yerde mi göstermek istiyorsun? Yani öyle bir kod olsun ki ana kategorileri listelesin, öyle başka bir kod olsun ki bütün alt kategorileri listelesin, istediğin bu mu?
Wordpress'in get_category_children() isimli bir fonksiyonu var. O fonksiyonu wp-includes/template-functions-category.php dosyası içerisinde bulabilir ve inceleyebilirsin. Ama yine de yapamazsan ve ne istediğini tam olarak anlatabilirsen yardımcı olmaya çalışırız.
Ana kategorilerden biri tıklandığında bir sayfaya yönlendirecek orada da alt kategorileri açtıracağım ama sadece alt kategorileri aldıramıyorum.
function'ı inceleyecektim. fakat template-functions-category.php bu sayfayı bulamadım. En son version wp kullanıyorum.
Benim sitemdeki gibi bir şey mi istiyorsun yoksa.
http://www.yakupgovler.com/tr/?p=163
adresinde yazdığım bileşeni inceleyebilir ayrıca sitemde çalışır olarak görebilirsin.
Baktım, internettede biraz araştırdım. Kategorileri falan kendi oluşturduğum sayfada yazdırdım ama ana kategoriyide gösteriyor. Benim istediğim ise sadece alt kategorileri listelemek.
Fonksiyonu inceledim biraz ama karmaşık geldi. 50 yerden invoke etmiş. Çıldırttı beni. Demek ki WP yeterince esnek bir yapıya sahip değilmiş :(
Umarım sadece alt kategorileri yazdırmanın bir yolunu bulurum. Yoksa baştan yazmam gerekecek.
Help me?
WP'ye suç bulmayın. Eğer php bilginiz varsa ve yeterince araştırırsanız, istediğinizi WP'ye yaptırabilirsiniz.
Yukarıdaki mesajımda verdiğim bileşenin tüm kodları sizin işinize yaramayacaktır. Sadece aşağıdaki adreste verdiğim kodları temanız içerisinde çalışabileceği bir yere yapıştırırsanız, aktif olan kategorinin alt kategorilerini verecek eğer alt kategorisi yoksa ekrana birşey yazmayacak.
http://pastebin.com/f127ad499
Alt kategorileri bulurken kullanılacak esas fonksiyon ise wp-incldues klasöründeki category-template.php dosyasının ilk fonksiyonu olan get_category_children()fonksiyonudur. Bu fonksiyon kendisine parametre olarak verilen kategorinin bütün alt kategorilerinin id'lerini aralarına istenen bir sembol girilerek alınmasını sağlıyor. Ben yukarıdaki kodlarda araya boşluk girilmesini sağladım. Yani fonksiyon bana 1 5 8 15 gibi aktif olan kategorinin alt kategorilerini verdi. Ben de bunu explode komutu ile dizi haline getirip, link verdim. get_category_children fonksiyonunun kodlarına aşağıdaki linkten ulaşabilirsiniz.
http://pastebin.com/m1f136248
Eğer yeterli php ve mysql bilginiz varsa bu fonksiyonun kodlarından ağaç yapısını oluşturmayı deneyebilirsiniz.
Wordpress sidebar'da kategorileri hiyerarşik olarak gösterirken ağaç yapısını oluşturmak için wp-includes/classes.php dosyasındaki Walker isimli bir fonksiyonu kullanıyor. Tabi bu fonksiyonu kullanan fonksiyon ise wp-includes/category-template.php dosyasındaki wp_list_categories fonksiyonudur. Bu fonksiyonun kodlarını inceleyip, kodları izlerseniz işinizi görecek birşeyler elde edebileceğinizi düşünüyorum.
En üstte verdiğim kodlar tıklanan kategorinin alt kategorilerini alt alt liste olarak vermektedir, ancak ağaç yapısı oluşturmamaktadır.
Teşekkürler. Sanırım biraz sinirlerim bozulmuştu dün. Uzun süre uğraşıp ortaya doğru düzgün bir şey çıkaramadığım için.
Kusura bakmayın.
İyi çalışmalar...
Mesaj göndermek için giriş yapmalısınız.