WordPress Taxonomi Nedir? Nasıl Kullanılır Detaylı Bilgi

WordPress Taxonomi Nedir? Nasıl Kullanılır Detaylı Bilgi
100

Yeni projem için taxonomi ile link ağı kurmam gerekti ve bu konu hakkında araştırmalar yapmaya başladım ve çok fazla detaylandırılmış Türkçe kaynağın olmadığını farkettim ve bu açığın kapatılması gerektiğine karar verdim. Böylelikle blogumda uzun zamandır WordPress hakkında yazı yazmıyordum bu açığıda kapatmış olurum.

Bu yazımda Taxonomy’nin ne anlama geldiğinden, hangi işlevde kullanabileceğimizden, kullanımından ve taxonomy sayfasının nasıl yaratıldığından bahsettim, umarım işinizi görür.

Taxonomi Nedir?

WordPress’i sitenize kurduğunuzda zaten 3 adet taxonomi kullanmış oluyorsunuz. Nedir bunlar peki; kategori, etiket ve yazı formatları’dır. Yani Taxonomi ile sıkça kullandığınız kategori ve etiket sisteminine yenilerini ekleyebilirsiniz.

Taxonomi Nasıl Yaratılır?

Taxonomy yaratmak oldukça kolaydır ilk olarak hazır bir kod paylaşayıp, detaylarını açıklayalım.

add_action( 'init', 'create_my_taxonomies_uckan', 0 );
function create_my_taxonomies_uckan() {
 register_taxonomy( 'idburaya', 'post', array( 'hierarchical' => true, 'label' => 'Tür') );
 register_taxonomy( 'idburaya2', 'post', array( 'hierarchical' => false, 'label' => 'İşletim Sistemi', 'query_var' => true, 'rewrite' => true ) );
}

Yukarıdaki kod ile birlikte hem kategorisel hemde etiketsel olarak  Tür ve İşletim Sistemi olarak yeni taxonomiler yarattık. Kodu temanızın functions.php dosyasına ekleyin.

  • idburaya = Bu kısmı düzenlemeyi unutmayın aşağıda id olarak bahsettiğim kısım burası.
  • Label = Kutu’nun başlığı
  • Hierarchical = Kategorisel mi etiketsel mi olduğunu belirliyorsunuz. True kategorisel oluyor.

Peki bu taxonomileri nerden yöneteceğiz?

WordPress Admin Panelinde yazılar sekmesine tıklayın ve seçeneklerden Tür veya İşletim sistemine tıklayarak yönetebilirsiniz.

wordpress-taxonomi-nasil-kullanilir-1

İkinci bir yöntem ise taxonomi ekleyeceğiniz bir yazıya girerek sağ panalden yönetebilirsiniz.

wordpress-taxonomi-nasil-kullanilir-2

Taxonomi Yarattık Peki Bunu Nerede ve Nasıl Göstereceğiz?

Yazıya eklediğiniz taxonomileri nerede göstereceğiniz sizin isteğinize bağlı herhangi bir sınırlama yok. Nasıl göstereceğinize gelirsek aşağıdaki kodu göstermek istediğiniz yere eklemeniz yeterli.

<?php if ( $terms = get_the_terms( $post->ID , 'isletim' )): ?>
 <?php foreach( $terms as $term ) { ?>
 <a href="<?php echo get_term_link( $term ); ?>"><?php echo $term->name; ?></a>
 <?php unset($term); } ?>
 <?php else: ?>
 <!-- Yazıda taxonomi yoksa görünecek kısım boş bırakmanız daha doğru olur -->
 <?php endif; ?>

Burada ilk satırdaki isletim yazan kısmı en yukarıda taxonomi yaratırken belirlediğiniz id’ye göre düzenlemeniz gerekiyor.

Taxonomiyi Gösterdik Sırada Sayfa Düzenlemesi

Taxonomileri istediğiniz yerde gösterdik ama bir sorun var taxonomiye tıkladığımızda kategori mantığında bir sayfaya yönlendiriyor o sayfa örneğin Tür kısmına Spor olarak bir kategori eklediniz o kategoriye eklenen yazıların listelendiği sayfadır.

Gelelim sayfayı nasıl düzenleyeceğimize. İlk olarak tema klasörünü açın ve yeni bir dosya yaratın. Dosyanın ismi taxonomy-idburaya.php olacak. Örneğin taxonomy-tur.php

Sayfa’yı yaratırken ekstra birşey yapmanız fazla gerek yok ben tam bir sayfa örneğini aşağıda paylaşacağım ama sizin temanızla uyumlu olmayacağı için problemler çıkabilir. Siz temanızın category.php dosyasını açarak içeriğini taxonomy dosyasına yapıştırın ve başlık yani title kısmını aşağıdaki gibi değiştirin.

  • idburaya kısmını değiştirmeyi unutmayın.
<div class="title-box">
 <?php if ( $terms = get_the_terms( $post->ID , 'idburaya' )): ?>
 <?php foreach( $terms as $term ) { ?>
 <h1><?php echo $term->name; ?></h1>
 <?php unset($term); } ?>
 <?php else: ?>
 <?php endif; ?>
 </div>

Benim kullandığım taxonomi sayfa kodları işe aşağıdaki şekildedir, kendi temanıza göre düzenleyebilirsiniz.

<?php get_header(); ?>
<div class="container">
 <div class="row">
 <div class="content col-md-8">
 <div class="row">
 <div class="title-box">
 <?php if ( $terms = get_the_terms( $post->ID , 'apps' )): ?>
 <?php foreach( $terms as $term ) { ?>
 <h1><?php echo $term->name; ?></h1>
 <?php unset($term); } ?>
 <?php else: ?>
 <?php endif; ?>
 </div>
 <div class="contents">
 <?php if ( have_posts() ) : while ( have_posts() ): the_post(); ?>
 <?php get_template_part('framework/Blog/post') ?>
 <?php endwhile; ?>
 <?php endif; ?>
 </div>
 <?php if (function_exists("wp_gm_pagination")){ wp_gm_pagination();}?>
 </div>
 </div> 
 <?php get_sidebar(); ?>
 </div>
</div>
<?php get_footer(); ?>

Hala sayfa bulunamıyor hatası alıyorsanız Wp Admin > Kalıcı Bağlantılar kısmına girerek herhangi bir değişiklik yapmadan Değişiklikleri Kaydet butonuna tıklayın.

Meta Etiketi Olarak Ekleyin

Spam’a kaçmayacağını düşünüyorsanız meta etiketide ekleyebilirsiniz. Temanızın functions.php dosyasının içerisine aşağıdaki kodları ekleyebilirsiniz. idburaya kısmını düzenlemeyi unutmayın.

function setiket_keywords()
{
if(is_page()) {
if (get_terms('setiket')){
echo '<meta name="keywords" content="';
foreach (get_terms('idburaya') as $tag)
{
echo $tag->name.',';
}
echo '">';
}
}
}
 
add_action('wp_head','setiket_keywords');

Kaynak

Kapanış

Benim en çok takıldığım yer kalıcı bağlantılar  işlemiydi kesinlikle yapmadan olmuyor demeyin. Başka anlatacağım şey kaldı mı şuanda aklıma gelmiyor ancak bende kullandıkça yeni şeyler eklemem gerekirse yazıyı düzenleyebilirim, umarım işinize yaramıştır.

Yorum Yap

Yapılan Yorum (1)

  1. taxonomy tanımını nasıl gösterebiliriz?