Özer Gül

WordPress yazılara yeni taksonomi eklemek

2014 12 27 Wordpress

Taksonomi sistemi wordpressin bize sunmuş olduğu en güzel özelliklerden birisidir. Yazılara etiket ve kategori gibi ekstra alanlar açmamızı sağlayan yapı kısaca taksonomidir. Yazıları istediğimiz kelimeye göre vs sınıflandırır.

Standart wordpress temalarında category ve tag adında iki adet taksonomi vardır. Siz bunu artırmak isteyebilirsiniz. Örneğin film teması yapıyorsanız, tur, tarih, oyuncular adında taksonomi alanları açmak temanın SEOsunu harikulade bir biçimde artıracaktır.

Ben örnek olarak oyuncular adında bir ekstra alan açmak istedim:

function taks_ekle() {
	register_taxonomy('oyuncular', 'post', array(
		'labels' => array(
			'name' => _x( 'Oyuncular', 'taxonomy general name' ),
			'singular_name' => _x( 'Oyuncu', 'taxonomy singular name' ),
			'search_items' =>  __( 'Oyuncularda Ara' ),
			'all_items' => __( 'Tüm Oyuncular' ),
			'parent_item' => __( 'Alt' ),
			'parent_item_colon' => __( 'Alt:' ),
			'edit_item' => __( 'Düzenle' ),
			'update_item' => __( 'Güncelle' ),
			'add_new_item' => __( 'Yeni Ekle' ),
			'menu_name' => __( 'Tüm Oyuncular' ),
		),
		'rewrite' => array(
			'slug' => 'oyuncular', 
			'with_front' => false,
			'hierarchical' => true 
		),
	));

}
add_action( 'init', 'taks_ekle', 0 );

Yukarıdaki kodu functions.php dosyanıza yapıştırın.
Artık yazı eklerken sağ alt tarafta oyuncu ekleme paneliniz olmalı. Şimdi sıra geldi bunu kullanmaya.
Eğer oyuncular/ arşiv sayfasında olup olmadığınızı kontrol etmek istiyorsanız is_tax() fonksiyonunu kullanacaksınız.

if(is_tax("oyuncular")) {
	$query = single_cat_title("",false);
	$baslik = $query . " Filmleri";
}

Eğer tekil sayfanızda oyuncuları çekmek istiyorsanız, bu işlemi etiketleri çeker gibi yapabilirsiniz.

<?php
$oyuncular_terms = get_the_terms( $post->ID, 'oyuncular' );		
if ( $oyuncular_terms && ! is_wp_error( $oyuncular_terms ) ) {
	foreach ( $oyuncular_terms as $term ) {	
?>
	<a href="<?php echo get_term_link($term->slug,"oyuncular"); ?>"><?php echo $term->name;?></a>
<?php 
	
	}
}
?>

Ayrıca taxonomy-oyuncular.php adında bir php arşiv sayfası da oluşturabilirsiniz.

Bu kadar…
Kolay gelsin 🙂

One response to “WordPress yazılara yeni taksonomi eklemek”

  1. barış says:

    Bilgi için teşekkürler, bunu yazı içinde nasıl gösterebilirim?

Leave a Reply

Your email address will not be published. Required fields are marked *

(c) Özer Gül, css framework w3.css