17 Mart 2009

Kategorileri Virgül ile Ayırmak

WordPress Yorum Ekle

WordPress-tr.com forumunda kategorileri virgül ile yan yana nasıl yazdırabiliriz şeklinde bir soru sorulmuştu. Forumdaki problemden dolayı kodlar hem eksik gitmiş hem de görünmüyordu. İhtiyacı olanlar için kodları burada paylaşıyorum.
Aşağıdaki kodları temanızın Tema dosyaları (functions.php) dosyasına uygun şekilde ekleyin.

  1. <?php
  2. function kategori_liste($ayrac=', ') {
  3.  $kategoriler = get_categories('hide_empty=0&child_of=');
  4.  if ($kategoriler) {
  5.   $liste = array();
  6.    foreach ($kategoriler as $kategori) {
  7.      $liste&#91;] = '<a href="' . get_category_link( $kategori->term_id ) . '" title="' . $kategori->name  . ' kategorisindeki yazılar">' . $kategori->name.'</a>';
  8.   }
  9.    $liste = implode($ayrac, $liste);     
  10.    echo $liste;
  11.  }
  12. }
  13. ?>

Kod içerisindeki get_categories('hide_empty=0'); fonksiyonuna buradaki parametreleri girerek istediğiniz kategorileri çekebilirsiniz. Yukarıdaki kod ile kategori_liste isminde bir fonksiyon yazmış olduk. Bunu kullanarak kategorileri aralarına istediğiniz karakteri koyarak yan yana yazdırabilirsiniz. Bunun için fonksiyonu aşağıdaki gibi kullanmalısınız.

  1. <?php kategori_liste(', '); ?>

Bu kod kategorileri aralarına virgül koyarak yan yana yazdırır. Kodlar denenmiştir.

Aktif Kategorinin Alt Kategorilerini Listeleme

Yazıya yapılan bir yorum üzerine, bir kategoriye tıklandığında yazıların üst kısmında o kategorinin alt kategorilerini gösterecek kod düzenlemesi yapılmış olup, aşağıdaki fonksiyon kodlarını kullanabilirsiniz. Kodu temanızın Tema fonksiyonları (functions.php) dosyasına uygun şekilde ekleyin.

  1. function kategorinin_kategorileri($ayrac=', ') {
  2.  $kategoriler = get_categories('hide_empty=0&child_of='.get_query_var('cat') );
  3.  if ($kategoriler) {
  4.    $liste = array();
  5.    foreach ($kategoriler as $kategori) {
  6.      $liste[] = '<a href="' . get_category_link( $kategori->term_id ) . '" title="' . $kategori->name  . ' kategorisindeki yazılar">' . $kategori->name.'</a>';
  7.    }
  8.    $liste = implode($ayrac, $liste);     
  9.    echo $liste;
  10.  }
  11. }

Kodu ekledikten sonra, fonksiyonu temanızın varsa category.php yoksa archive.php dosyasında uygun bir yere aşağıdaki kodu ekleyerek, etkin olan kategorinin alt kategorilerini yan yana aralarına virgül koyarak listeleyebilirsiniz.

  1. <?php kategorinin_kategorileri($ayrac=', '); ?>

ya da

  1. <?php kategorinin_kategorileri($ayrac=' | '); ?>

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

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


“Kategorileri Virgül ile Ayırmak” yazısı için 3 Yorum

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

  1. kuaza dedi ki:

    cok tesekkurler hocam, ellerinize saglik..

  2. Bugra Togan dedi ki:

    çok saolhocam .

    peki bir sorum olacak

    katerorinin içindeyken sayfanın üsütüne alt kategorileri nasıl yazdırabilirim acaba

  3. Yakup Gövler dedi ki:

    @Yazıyı güncelledim. Yazının ikinci bölümünde isteğinizi bulabilirsiniz.