• 24-06-2010, 01:41:56
    #1
    Şarkı sözü teması tasarlıyorum. Wordpress üzerine giydirdim ancak kategori olayında problem var. Şöyle listeledim.

    A B C Ç D E F G H...

    Sanatçılar bunların alt kategorisinde olacak. Bunun için az kategoride güzel bir çözüm var.

    category-slug.php ya da category-id.php diye dosya oluşturup şu fonksiyon ile alt kategorilerini çağırmak. Belirli kategorileri yani A B C Ç D E F G H... bunların alt kategorilerini yani sanatçıları listelemiş olurum.

    wp_list_categories(child_of=3)

    Kalanını bu sayede arşiv ya da kategori sayfasında the_excerpt(); ile yazıları listeleyebilirim. Yani sanatçıların şarkıları yazı listesi şeklinde oluyor yani blog sayfası gibi...

    Ancak 32 33 tane category-id.php oluşturmam gerekiyor. Var mı zekice bir çözümü olan?
  • 24-06-2010, 02:17:04
    #2
    İlla böyle olmak zorunda değil tabi. Fikri olan var mı ne kadar kısa sürede çözersem bu konuyu okadar kısa zamanda ücretsiz olarak dağıtacağım temayı. Ön izleme:

  • 24-06-2010, 06:26:31
    #3
    Üyeliği durduruldu
    sorunu tam anlayamadım. sorun, ana kategorilerde alt kategorileri listelemekse:

    Alıntı
    <?php
    if (is_category()) {
    $this_category = get_category($cat);
    if (get_category_children($this_category->cat_ID) != "") {
    echo "";
    echo "<ul>";
    wp_list_categories('orderby=name&show_count=0&titl e_li=<h2>Subcategories</h2>&
    &use_desc_for_title=1&child_of='.$this_category->cat_ID);
    echo "</ul>";
    }
    }
    ?>
    bu kodla, "kategori ID'yi bul ve bu ID ile ilişkili alt kategorileri listele" dersiniz. bu sayede A-B-C-D-.... ana kategorilerini halledersiniz. sizdeki koddaki gibi child_of=3 diye cat ID belirtmek gerekmez.

    eğer sorun, ana kategorilerde sadece alt kategori adlarını, alt kategorilerde ise postları listelemekse:

    1- şu eklenti işe yarayabilir(direkt kod var mı bilmiyorum). bu eklenti sayesinde, "eğer ana kategoriyse alt kategorileri, alt kategori ise postları listele" diyebilirsiniz. wordpress'te if child diye kod varsa daha kolay yaparsınız tabii ama şu an böyle bir kod bulamadım.

    2- eğer yukarıdaki olmazsa, archive.php içine,

    Alıntı
    <?php if (is_category('1,2,3,4,5,6,.......,29')) { ?>

    yukarıda verdiğim kodu koyarak alt kategorileri listelersiniz

    <?php } else { ?>

    postları listele kodu

    <?php } ?>
    1,2,3...29 diye yazdığım ana kategorilerin ID. bu sayede eğer tanımlanmış kategorilerden birindeyse sadece alt kategorileri, değilse postları listeler.
  • 24-06-2010, 13:46:16
    #4
    Şöyle bir şey yaptım ama ikisini aynı anda bastı ekrana.

    <?php if (is_category('1,2,3,4,5,6,.......,29')) { ?>
     
    yukarıda verdiğim kodu koyarak alt kategorileri listelersiniz
     
    <?php } else { ?>
     
    postları listele kodu
     
    <?php } ?>
    Yani doğru anlamışsınız soruyu, ana kategorilerin alt kategorilerini listeletip daha altındaki kategorilerin postlarını listeletmek amaçlıydı.

    Alıntı
    eğer sorun, ana kategorilerde sadece alt kategori adlarını, alt kategorilerde ise postları listelemekse:
    Tam olarak budur. Eklenti ve kodları inceleyeyim. Teşekkürler...