WordPress 2.3 etiket fonksiyonlarından olan ve etiket listesini dizi değişken olarak döndüren get_the_tags fonksiyonunu inceleyelim.
Açıklama
Bu fonksiyon da The Loop arasında kullanıması gerekiyor ve yazıya ait olan etiketleri dizi değişken (array) olarak döndürüyor.
Kullanım
Fonksiyon tüm etiketleri dizi değişken olarak döndüreceği için hiçbir çıktı vermez. Şöyleki;
Array
(
[41] => stdClass Object
(
[term_id] => 41
[name] => wordpress eklenti
[slug] => wordpress-eklenti
[term_group] => 0
[term_taxonomy_id] => 43
[taxonomy] => post_tag
[description] =>
[parent] => 0
[count] => 9
[object_id] => 23
)
)
Bu diziyi işlemek için foreach fonksiyonundan faydalanabiliriz.
Dizi içerisindeki değişkenler
Bu fonksiyon etiketleri dizi değişken olarak verir demiştik. Tabi bu değişkene üye birkaç değişken mevcut. Bunları da açıklayalım.
- term_id – Etikete ait term_id numarasıdır.
- name – Etiketin adıdır. Yani tüm özel, Türkçe v.b. karakterlerin yer aldığı kısımdır.
- slug – Etiketin adından oluşturulan seo amaçlı isimdir ve URL adreslerinde görüntülenir.
- term_group – Varsa etiketin grup terim grubudur
- taxonomy – Bu terimin türüdür. Etiketler listelendiği için elbetteki yazı etiketidir. Bu nedenle daima post_tag çıktısı elde edilir.
- description – Varsa etiketin açıklamasıdır.
- parent – Bağlı olduğu üst etiket diyebiliriz. Fakat bildiğim kadarıyla kullanılmıyor.
- count – Etiketin kullanılma sayısıdır.
- object_id – Etiketin obje numarasıdır. Pek gerekli birşey değil açıkçası.
Örnekler
Dizi değişken içerisindeki veriler foreach fonksiyonu ile biçimlendirilebilir demiştik. İşte birkaç örnek.
Etiketleri simgeleri ile listelemek
Her etikete, kendisine ait term_id numarası ile bir simge oluşturabilir ve alttaki örnek ile etiket isimleri yerine bu simgeleri, yer aldıkları images klasör altından alarak görüntüleyebilirsiniz.
<?php foreach((get_the_tags()) as $tag)
{ echo '<img src="http://siteniz.com/images/' . $tag->term_id . '.jpg"
alt="' . $tag->name . '" />'; } ?>
Sadece ilk etiketi görüntülemek
<?php
$tag = get_the_tags(); $tag = $tag[0]; echo $tag->name;
?>