Günlüklerimizdeki SEO düzenlemelerinin en önemli ayağı şüphesiz, etiketlerdir. Her ne kadar ben fazla sevmesem de etiket işini seven, hatta abartanlar bulunmakta. Etiketleri, kullanımlarına göre boyutlandırarak, gösterildiği yerlere Etiket Bulutu deniyor. WordPress'te bu bulutu yaratan ise wp_tag_cloud fonksiyonudur. Bu fonksiyon ile etiket bulutlarınıza istediğiniz gibi hükmedebilirsiniz. Yazımın devamında bu fonksiyonunun WordPress Codex'teki açıklamasının Türkçe çevirisini bulabilirsiniz.
Açıklama
WordPress 2.3 versiyonu ile birlikte, "etiket bulutu" denilen, etiket listesini gösteren wp_tag_cloud tema etiketi kullanılabilir olmuştur (daha öncesinde simple tag vs. gibi eklentiler kullanılıyordu). Etiket bulutlarında, etiketin kullanım sayısına göre yazıtipi boyutunun değiştiği bir liste yer almaktadır.
Kullanım
<?php wp_tag_cloud(''); ?>
<?php wp_tag_cloud($parametreler); ?>
Örnekler
Varsayılan Kullanım
- $defaults = array('smallest' => 8, 'largest' => 22,
- 'unit' => 'pt', 'number' => 45, 'format' => 'flat',
- 'orderby' => 'name', 'order' => 'ASC','exclude' => , 'include' => );
Varsayılan kullanımda, etiketler aşağıdakilere göre gösterilirler:
- smallest - En az kullanılan etiketin minimum yazıtipi boyutu 8
- largest - En çok kullanılan etiketin maksimum yazıtipi boyutu 22
- unit - Yazıtipi boyutunun birimi, 'pt' (punto)
- number - Gösterilecek etiket sayısı 45 tane
- format - Etiketler aralarında boşluk karakteri olacak şekilde gösterilecekler
- orderby - Etiketleri isme göre sıralar
- order - Sıralama işlemini ARTALAN olarak yapar
- exclude - Hariç tutulacak etiketler, hiçbiri
- include - Gösterilecek etiketler, hepsi
Popüler Etiketler Başlığı Altında Etiketleri Göstermek
- <?php if ( function_exists('wp_tag_cloud') ) : ?>
- <li>
- <h2>Popüler Etiketler</h2>
- <ul>
- <?php wp_tag_cloud('smallest=8&largest=22'); ?>
- </ul>
- </li>
- <?php endif; ?>
İsim Yerine Kullanım Sayılarına Göre Sıralı Listelenmiş Bulut
- <?php wp_tag_cloud('smallest=8&largest=22&number=30&orderby=count'); ?>
* Gösterilecek etiket sayısı 30 ile sınırlandırılmıştır.
Çıktı Olarak Bir Dizi Döndüren Bulut
Kod içerisindeki $tag değişkeni kendi kodlarınızda kullanmanız için bulut listesini içerisinde dizi olarak bulundurur.
- <?php $tag = wp_tag_cloud('format=array' );?>
Parametreler
smallest: (tamsayı) En az kullanılan etiketin yazıtipi boyutunun değeri (unit parametresiyle birimi belirlenir).
largest: (tamsayı) En fazla kullanılan etiketin yazıtipi boyutunun değeri (unit parametresiyle birimi belirlenir).
unit: (metin) Yazıtipi boyutunun birimini belirler. CSS boyut birimlerini alabilir, örnek: pt, px, em, %; varsayılan pt (punto).
number: (tamsayı) Bulut içerisinde gösterilecek etiket sayısı (Bütün etiketleri göstermek için '0' kullanın).
format: (metin) Bulutun gösterilme şekli.
- 'flat' (varsayılan) Etiketler boşluk karakteri ile ayrılır.
- 'list' Etiketler class = 'wp-tg-cloud' sınıfı ile sınıflandırılmış bir UL etiketi içerisinde listelenir.
- 'array' PHP kodlarında kullanmanız için etiketler bir dizi olarak döndürülür. Not: 'array' parametresi WP 2.5 ile birlikte gelmiştir.
orderby: (metin) etiketlerin sıralanma şekli.
- 'name' (varsayılan) İsme göre sıralar.
- 'cont' Kullanım sayısılarına göre sıralar.
order: (metin) Sıralama şekli - Büyük harfle yazılmalıdır:
- 'ASC' (varsayılan) Artan sırada (A-Z)
- 'DESC' Azalan sırada (Z-A)
- 'RAND' Etiketler rastgele olarak sıralanır. Not: Bu parametre WP 2.5 ile gelmiştir.
exclude: (metin) Gösterilmesi istenilmeyen etiketler (term_id'leri) virgül ile ayrılırlar. Örneğin, 'exclude=5,27' term_id değeri 5 ve 27 olan etiketler gösterilmeyecekler. Varsayılan olarak hariç tutulan etiket yoktur.
include: (metin) Belirli etiketler gösterileceklerse bu etiketler (term_id'leri) virgül ile ayrılırlar. Örneğin, 'include=5,27' term_id değeri 5 ve 27 olan etiketler gösterilecek. Varsayılan olarak bütün etiketler gösterilir.
Etiket Arşivi Oluşturma
WP 2.3 ile birlikte eklenen yeni etiketleme özelliğiyle birlikte, wp_tag_cloud tema etiketi, Etiket Arşivlerini göstermede kullanılabilir. Bunun anlamı, bir ziyaretçi bir etikete tıkladığında o etiket ile etiketlenmiş yazılar listelenir. Tema Hiyerarşisi'ne göre bu listeleme işleminde eğer tema içerisinde tag.php şablonu yoksa, archives.php şablonu kullanılır. tag.php şablonunu yaratarak, Etiket Arşivinizin gösterilmesini özelleştirebilirsiniz, bu şablon kolay dolaşım için sayfa üstünde bir etiket bulutu barındırır.
Yeni bir şablon eklemek için, tema dosyalarınıza yeni bir dosya eklemeyi gerektirecektir. Burada anlatılanlarla ilgili olarak temalar, tema hiyerarşisi kaynaklarınıni inceleyebilirsiniz. İhtiyacınız olan temel adımlar şunlar:
- tag.php isminde, aşağıda içeriği verilmiş olan bir dosya oluşturun.
- Dosyayı tema klasörünüze yükleyin
- Bu adım gerekli olmasa da eğer sayfalar menünüzde Etiket Arşivi için bir sayfa olmasını istiyorsanız bu adımı da uygulayın, aksi halde bir etiket tıklandığında bu şablon kullanılacaktır. Sayfa oluşturmak için bu şablonu kullanan boş bir sayfa oluşturun ve başlık olarak Etiket Arşivi verin.
Üçüncü adımı yapmak için:
Wordpress farklı sayfalar için farklı sayfa şablonları kullanacak şekilde ayarlanabilirler. Yönetim panelinizde yer alan Yaz->Sayfa seçeneğiyle ulaşacağınız ekranın en altında (kullandığınız versiyona bağlı olarak değişebilir) "Sayfa Şablonu" başlıklı yeri açın. Buradan Sayfanın ilişkilendirileceği Şablonu listeden seçebilirsiniz.
Etiket Arşivi Dosya İçeriği
- <?php /*
- Template Name: Etiket Arşivi
- */ ?>
- <div>
- <?php get_header(); ?>
- <h2>Etiket Arşivi</h2>
- <?php wp_tag_cloud(''); ?>
- // Sayfanın en üstünde Etiket Bulutu Oluşturuyoruz
- <div class="navigation">
- <div class="alignleft"><?php next_posts_link('« Önceki Yazılar') ?></div>
- <div class="alignright"><?php previous_posts_link('Sonraki Yazılar »') ?></div>
- </div>
- <?php if (have_posts()) : ?>
- <?php while (have_posts()) : the_post(); ?>
- <h2><a href="<?php the_permalink() ?>" rel="bookmark" title="Kalıcı bağlantı <?php the_title(); ?>"><?php the_title(); ?></a></h2>
- <div class="entry">
- <?php the_content('Yazının devamı »'); ?>
- </div>
- <?php endwhile; ?>
- <?php endif; ?>
- </div>
- <?php get_footer(); ?>
Bu şablonun içeriğini en iyi şekilde oluşturmak için lütfen temanızın single.php dosyasını inceleyiniz. Buradaki örnekte verilen dosya içeriği varsayılan tema için geçerli olup, kendi temanıza uygun olabilir. Uygun olması için tavsiyem temanızın single.php dosyanızı klonlayıp, tag.php olarak adını değiştirdikten sonra, gerekli düzenlemeleri yapmanızdır.
İlişkili Yazılar
the_tags, get_the_tags, get_the_tag_list, single_tag_title, get_tag_link, wp_tag_cloud, wp_generate_tag_cloud
Not: Yazı içerisindeki kodları, kodların üzerindeki Kodu Al bağlantısını kullanarak alabilirsiniz.
Bu yazının kısa bağlantısı http://www.yakupgovler.com/?p=363.
Yazılarımı RSS aboneliği ile takip edebilir, yeni yazılarıma kolaylıkla ulaşabilirsiniz. Bunun için ise RSS adresimi kullanabilirsiniz.
Tarih: 19 Ekim 2008 Saat: 10:27
[...] yazıyla ilişkili olarak wp_tag_cloud fonksiyonu ile ilgili yazdığım buradaki yazımı [...]
Tarih: 25 Ekim 2008 Saat: 13:03
[...] Bileşen (Widget) yapısını kullanmıyorsanız, buradaki yazımda bahsettiğim wp_tag_cloud fonksiyonunu aşağıdaki gibi yan menünüze ekleyiniz, tabi ki [...]
Tarih: 26 Ekim 2008 Saat: 18:25
[...] Bileşen (Widget) yapısını kullanmıyorsanız, buradaki yazımda bahsettiğim wp_tag_cloud fonksiyonunu aşağıdaki gibi yan menünüze ekleyiniz, tabi ki [...]
Tarih: 12 Kasım 2008 Saat: 19:52
teşekkür ederim, fakat küçük bir soru sormak istiyorum.Parametreleri vermişsiniz ama anlayamadım.Rastgele 30 etiket göstermek istesem nasıl bir kod kullanmalıyım ?
Tarih: 12 Kasım 2008 Saat: 19:58
Ne yazık ki WP'nin wp_tag_cloud fonksiyonunun etiketleri rastgele çekme özelliği yok, yazıda geçen rastgele ifadesi etiketlerin rastgele sıralanmasıdır.
http://www.yakupgovler.com/?p=398
adresindeki bileşenimi kullanırsanız, kolay bir şekilde istediğinizi elde edebilirsiniz.
Tarih: 13 Kasım 2008 Saat: 00:39
Tüm Etiketler' bağlantısı için)
Etiket Sayfası ID
bu ayarı pek anlamadım 🙁 bunun için önce etiketlerin gösterildiği bir sayfa oluşturmamaız gerekiyor galiba. fakat büyük bir blog oldugunu varsayarsak tüm etiketleri tek sayfada göstermek sorun olur 🙁
Tarih: 13 Kasım 2008 Saat: 05:54
Evet, etiketlerin gösterileceği bir sayfa hazırlamanız gerekiyor. Etiketleri sayfalamayla ilgili pek bir eklenti ya da yöntem olmadığından şimdilik durum böyle.
Etiketler sayfasında belki bütün sayfaları değil de yine en sık kullanılanlardan 100-200 tanesi gösterilebilir.
Tarih: 23 Kasım 2008 Saat: 02:39
Etiketleri basıyor fakat sayfalama namına bişey yok pagebar Exec-PHP kullanıyorum kodunu koydum çalışmadı harici şablon olarak dediğiniz gibide yaptım gene olmadı yardımcı olurmusunuz.
Tarih: 28 Aralık 2008 Saat: 22:04
[...] yazılarım: get_the_tags, wp_tag_cloud, the_tags Yazıyı Paylaş: Aşağıdaki simgeler kullanıcılarının web sitelerini [...]
Tarih: 14 Mayıs 2009 Saat: 03:51
<?php the_tags('Etiketler:', ', ', ''); ?>
Yukarıdaki kod ile etiketlerimi böldüm.
Fakat o konu ile ilgili etiketlerin sadece 6 tanesini göstermek istiyorum yardımcı olurmusunuz...
Tarih: 15 Mayıs 2009 Saat: 16:43
the_tags fonksiyonunu kullanarak bunu yapmanız mümkün değil. Bunun için özel bir kodlama yapmak gerekiyor. Bununla ilgili bir yazı yazmayı planlıyorum.