Wordpress ile yapılmış bazı sitelerde veya bloglarda, bilhassa film, müzik, kitap ve benzeri karmaşık çok kategorili olabilecek içeriklerin bulunduğu sitelerde hep var olan kategorileme ve etiketleme sisteminin yetersizliğinden yakınırdım. Bunun için bazı yöntemler kullanmadık değil, mesela TDO Tags Fixes eklentisi ile kategori ve etiketleri şu şekle dahi getirmişliğimiz olmuştu: http://blog.wolkanca.com/kategori/blog/?etiket=seo böylelikle kategorinin içindeki yazılara ait etiketlere de ayırmayı becerebiliyorduk yani.

wordpress logo Wordpress için özel kategori veya etiketleme

Şimdi tanışacağınız yöntem Wordpress 2.8 ile gelen bir yenilik, bu yöntem de temanın functions.php dosyasına ekleme yaparak fazladan etiket alanı oluşturabiliyorsunuz, yani blog.wolkanca.com/etiket/etiketismi gibi atıyorum blog.wolkanca.com/sehir/sehirismi veya blog.wolkanca.com/tarz/akustik örneklerinde ki gibi farklı farklı kullanımları yapabilirsiniz.

Bu bir çok Wordpress alt yapısı kullanan proje için çok faydalı olabilecek bir yöntem.

wordpress ozel etiketleme fonk 500x267 Wordpress için özel kategori veya etiketleme

wordpress ozel etiketleme 500x268 Wordpress için özel kategori veya etiketleme

Kullanımından bahsedersem, öncelikle temanızda bulunan functions.php dosyasının içine;

add_action( 'init', 'create_my_taxonomies', 0 );
function create_my_taxonomies() {
register_taxonomy( 'tarz', 'post', array( 'hierarchical' => false, 'label' => 'Tarz', 'query_var' => true, 'rewrite' => true ) );
register_taxonomy( 'sehir', 'post', array(  #39;hierarchical' => false, 'label' => 'Sehir', 'query_var' => true, 'rewrite' => true ) );
register_taxonomy( 'ulke', 'post', array( 'hierarchical' => false, 'label' => 'Ulke', 'query_var' => true, 'rewrite' => true ) ); }

kodlarını ekleyiniz, burada tarz, sehir ve ulke seçeneklerini değiştirebilir veya komple o satırı kaldırabilir yada ekleme yapabilirsinz.

Burada sehir kısmı özel etiketimiz oluyor.
post kısmı yazılar için kullanılacak bir etiket olduğunu söylüyor.
hierarchical kısmı hiyerarşik sınıflandırma olabilir demek oluyor.
label kısmı Wordpress admin panelinde yazı yazma kısmında görüneceği anlamına geliyor.
query_var kısmı sorgulara cevap vermesi yani blog.wolkanca.com/tarz/akustik/ bağlantısına gidildiğinde akustik e bağlı yazıların listelenebilmesi anlamına gelmekte.
rewrite ise eklediğiniz bu özel etikette kalıcı bağlantınının blogunuzun ana kalıcı bağlantı yapısını kullanmasını sağlıyor, mesela blog.wolkanca.com/?tarz=akustik etiketiniz blog.wolkanca.com/tarz/akustik/ olarak çalışabilir veya eklemezseniz yoursite.com/?tarz=akustik olarak çalışabilir.

Eklediğiniz özel etiketleme için etiket bulutu(wp_tag_cloud()) gösteren kod aşağıdaki gibi;

<?php wp_tag_cloud( array( 'taxonomy' => 'tarz', 'number' => 45 ) ); ?>

Yazılarınıza ait özel etiketlerimizi aşağıdaki kod ile gösterebiliriz;

<?php echo get_the_term_list( $post->ID, 'tarz', 'People: ', ', ', '' ); ?>

Bir sayfa içinde bir özel etikete ait yazıları listelemek için döngü için kodumuz budur;

<?php query_posts( array( 'tarz' => 'akustik', 'showposts' => 10 ) ); ?>

Daha fazla bilgi ve araştırmak için Wordpress forumlarını karıştırabilirsiniz arama terimimiz: custom-taxonomies.

© 2005 – 2009 wolkanca. Bu yazi blog.wolkanca.com adresinde yazildi, sitenin yazilari yalnizca izin alinmak kaydi ile alinti yapilabilir ve yayinlanabilir.


Etiket: Blog, custom taxonomies, Etiket, etiketler, fonksiyon, functions, ipucu, işlev, kategori, kategorileme, WordPress, wordpress 2-8

Bunu okuyan şunları da okur;

 Wordpress için özel kategori veya etiketleme

 Wordpress için özel kategori veya etiketleme

 Wordpress için özel kategori veya etiketleme

Share and Enjoy:
  • Print
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • Blogplay
  • blogtercimlap
  • Yahoo! Bookmarks

Benzer Konular