arkadaş wordpress i kendi yazdığı için çok net biliyo :D

Aşağıdaki kodu functions.php ye eklediğinizde iki tür taksonomi eklemiş olursunuz. kodun içindeki notlarda neyin ne olduğunu yazıyorum. Wordpress codex ten alıntıdır


// fonksiyonumuzu wordpress genelinde tanımlayalım
add_action( 'init', 'create_book_taxonomies', 0 );

// 'book' isimli yazı tipine iki farklı taksonomiyi ekleyen fonksiyonu oluşturalım
function create_book_taxonomies() {
// genel olarak iki tür taksonomi vardır bunlardan birincisi kategoriler gibi olup hiyerarşisi olabilen taksonomilerdir.

$labels = array(
'name' => _x( 'Genres', 'taxonomy general name' ),
'singular_name' => _x( 'Genre', 'taxonomy singular name' ),
'search_items' => __( 'Search Genres' ),
'all_items' => __( 'All Genres' ),
'parent_item' => __( 'Parent Genre' ),
'parent_item_colon' => __( 'Parent Genre:' ),
'edit_item' => __( 'Edit Genre' ),
'update_item' => __( 'Update Genre' ),
'add_new_item' => __( 'Add New Genre' ),
'new_item_name' => __( 'New Genre Name' ),
'menu_name' => __( 'Genre' ),
);

$args = array(
'hierarchical' => true,
'labels' => $labels,
'show_ui' => true,
'show_admin_column' => true,
'query_var' => true,
'rewrite' => array( 'slug' => 'genre' ),
);

//belirlediğimiz bu taksonomiyi book isimli yazı tipimize tanımlayalım
register_taxonomy( 'genre', array( 'book' ), $args );

// ikinci tür taksonomide etiketler gibi olup hiyerarşisi olmayanlardır.
$labels = array(
'name' => _x( 'Writers', 'taxonomy general name' ),
'singular_name' => _x( 'Writer', 'taxonomy singular name' ),
'search_items' => __( 'Search Writers' ),
'popular_items' => __( 'Popular Writers' ),
'all_items' => __( 'All Writers' ),
'parent_item' => null,
'parent_item_colon' => null,
'edit_item' => __( 'Edit Writer' ),
'update_item' => __( 'Update Writer' ),
'add_new_item' => __( 'Add New Writer' ),
'new_item_name' => __( 'New Writer Name' ),
'separate_items_with_commas' => __( 'Separate writers with commas' ),
'add_or_remove_items' => __( 'Add or remove writers' ),
'choose_from_most_used' => __( 'Choose from the most used writers' ),
'not_found' => __( 'No writers found.' ),
'menu_name' => __( 'Writers' ),
);

$args = array(
'hierarchical' => false,
'labels' => $labels,
'show_ui' => true,
'show_admin_column' => true,
'update_count_callback' => '_update_post_term_count',
'query_var' => true,
'rewrite' => array( 'slug' => 'writer' ),
);
//bu taksonomiyi de book isimli yazı tipimize ekleyelim
register_taxonomy( 'writer', 'book', $args );
}


yukarıdaki kod ile book isimli yazı tipimize iki farklı taksonomi yani bir nevi etiket türü ekledik. verdiğiniz örneğe göre birden fazla taksonimi ekleyerek telefonun btün özelliklerini ayrı bir taksonomi olarak hazırlayabilirsiniz.

Daha sonra bu taksonomilerin hepsini o telefonun içine girdiğinizde gösterebilmek için o post hakkında girilmiş tüm taxonomyleri listeleme yapmalıyız. bunun içinde şu kodu functions.php ye ekliycez.


// postun tüm taksonomilerini çekme
function custom_taxonomies_terms_links(){
// get post by post id
$post = get_post();

// get post type by post
$post_type = $post->post_type;

// get post type taxonomies
$taxonomies = get_object_taxonomies( $post_type, 'objects' );

$out = array();
foreach ( $taxonomies as $taxonomy_slug => $taxonomy ){

// get the terms related to post
$terms = get_the_terms( $post->ID, $taxonomy_slug );

if ( !empty( $terms ) && $taxonomy->name != 'post_format' && $taxonomy->name != 'marka') {
$out[] = "" . $taxonomy->label . ":";
foreach ( $terms as $term ) {
$out[] =
' '
. $term->name
. "

";
}
}
}

return implode('', $out );
}



yukarıdaki kod posta ait tüm taksonomileri listeler bunun html düzenlemesini koddan yapabilirsiniz. bu benim kendi sitelerimden birinde kullandığım bir koddur if kalıbına bakarsanız wordpress in default olarak verdiği post_format ı esgeçtim. funstions.php ile işiniz bittikten sonra bunun nerde gözükmesini istiyorsanız postun orasına şu kodu eklemeniz yeterli.




saygılar..