WordPress’te belirli bir ana kategorinin alt kategorilerini listelemek için kullanabileceğiniz kodu paylaşıyorum. Bu kodu temanın uygun bir dosyasına (örneğin, index.php, category.php veya sidebar.php gibi alanlara ekleyebilirsin.
<?php $parent_category_id = 1; // Burada 1 yazan yere ana kategori ID'sini yazınız $subcategories = get_categories(array( 'child_of' => $parent_category_id, 'hide_empty' => false )); if ($subcategories) { echo '<ul>'; foreach ($subcategories as $subcategory) { echo '<li><a href="' . get_category_link($subcategory->term_id) . '">' . $subcategory->name . '</a></li>'; } echo '</ul>'; } else { echo 'Alt kategori bulunamadı.'; } ?>
- $parent_category_id değişkenine ana kategorinin ID numarasını yazmalısın. ID’yi öğrenmek için WordPress Yönetici Paneli > Yazılar > Kategoriler bölümüne gidip ilgili kategorinin üzerine gelerek linkteki tag_ID=xx kısmına bakabilirsin.
- get_categories() fonksiyonu ile belirttiğin ana kategoriye ait alt kategorileri çekiyoruz.
- child_of parametresi belirttiğimiz üst kategorinin alt kategorilerini getirir.
- hide_empty => false kullanarak içinde hiç yazı olmasa bile alt kategorileri listelemeyi sağlıyoruz.
Eğer alt kategorilerin yanında kaç yazı olduğu da gözüksün istiyorsanız. Örneğin, “Nasıl (15)” gibi aşağıdaki kodu kullanın.
<?php $parent_category_id = 1; // Burada 1 yazan yere ana kategorinin ID'sini yaz $subcategories = get_categories(array( 'child_of' => $parent_category_id, 'hide_empty' => false )); if ($subcategories) { echo '<ul>'; foreach ($subcategories as $subcategory) { echo '<li><a href="' . get_category_link($subcategory->term_id) . '">' . $subcategory->name . '</a> (' . $subcategory->count . ')</li>'; } echo '</ul>'; } else { echo 'Alt kategori bulunamadı.'; } ?>