Kategoriler
Blog

WordPress başlıklarda etiketleri göstermek

Bu blogdaki titile(başlık) sistemini görüp hoşlanan ve aynısını yapmak isteyen arkadaşlar oluyordur, eminim çok merak etmişler ve türlü şekillerde denemişlerdir.

Şimdi bunun üzerine bir eklenti yok fakat var olan eklentilere işlev ekleyip veya kendi eklentinizi yazıp bunu yapabilirsiniz, gerçi aşağıda bir kod ile de yapılıyor fakat bu benimki gibi değil.

wordpress

Şimdi burada bunu nasıl yaptığımı ve yaptığım şeklin nasıl kullanışlı olduğunu yazacağım, siz de blogunuza, sitenize sadece eklentileri alıp kullanmak yerine bu eklentileri kendi sitenize göre düzenleyin veya eklentileri baştan yazın, böylece tüm bloga hakim olursunuz yoksa başkalarının yaptığı eklentilere güvenirsek halimiz harap.

Aslında aşağıdaki kod parçacığı ile title etiketine yazının etiketlerini yazdırmak mümkün;
<?php
if (is_single()) {
$posttags = get_the_tags( (int) $post->ID);
if ($posttags) {
foreach($posttags as $tag) {
echo ' ' . wp_specialchars($tag->name);
}
}
}
?>

Fakat ben böyle yapmadım, bundan daha kullanışlısını yaptım siz isterseniz tabii ki yukarıdakini de kullanabilirsiniz, ben istedim ki etiketler tüm sayfalarda ki başlıklarda çalışsın bu yüzden Simple Tags eklentisinin meta keywords işlevini kullandım.

Nasıl yaptım?
Simple Tags eklentisinin meta keywords işlevinin aynısından bir fonksiyon daha yazdım yani st_get_meta_keywords() fonksiyonundan bir tane daha oluşturdum.

Yapalım.
Simple Tags eklentisini blogunuzda kullanmıyorsanız hemen buraya tıklayıp kurun, kullanıyorsanız bu aşamayı geçiniz.

Blogunuza Simple Tags eklentisini kurduktan sonra (blogunuzda WordPress 2.7, 2.8 ve sonrası versiyonu ve sonrasını kullandığınızı varsayıyoruz.) simple-tags2.7inc klasörünün içindeki simple-tags.functions.php de değişiklik yapcağız, bu değişiklik st_get_meta_keywords() fonksiyonuna benzer bir fonksiyon oluşturmak olacak.

simple-tags.functions.php açıyoruz, 67. satırda st_get_meta_keywords() fonksiyonu var, bu fonksiyon 74. satırda return '';
}
diye bitiyor.
Hemen altına st_get_meta_keywords() fonksiyonunu komple kopyalayıp yapıştırıyoruz.

Ben st_get_meta_keywords2() olarak adlandırdım;
function st_get_meta_keywords() {
global $simple_tags;
$tags_list = $simple_tags->generateKeywords();
if ( !empty($tags_list) ) {
return "" . '' ."". '<meta name="keywords" content="' . $tags_list . '" />' . "n";
}
return '';
}

Şimdi fonksiyonda ufak bir değşiklik yapacğız, bu değişiklikte <meta name=”keywords” content=” ve /> kısımlarını sileceğiz ayrıca fonksiyona yeni bir isim(st_get_meta_keywords2()) vereceğiz.

Ve aşağıdaki gibi olacak, ardından bunu hemen altına st_get_meta_keywords() bittiği satırın altına yapıştırıyoruz, satır 75.

Aynı şekilde function st_meta_keywords() {
echo st_get_meta_keywords();
}

kısmınında kopyasını oluşturuyoruz altına;
function st_meta_keywords2() {
echo st_get_meta_keywords2();
}

Ve bu şekilde fonksiyon eklemiş olduk, bu kopyaladığımız fonksiyonda fark etiketleri diye değil etiket, etiket2 olarak bastırması oldu. Biz bu kopyaladığımız fonksiyonu titile da kullanacağız.

Şimdi blogumuzun temasında header kısmına geliyoruz ve arasına fonsiyonunu yazarak yazdırıyoruz, artık title(başlık)larda tekil yazılarda o yazının etiketlerini, kategori, etiket ve diğer sayfalarda ise o sayfalrda bulunan yazılara ait etiketleri yazacak.

Dosyada kafanız karıştıysa benim eklentimi buradan indirerek sadede title kısmına yazıp kullanmaya başlayabilirsiniz.

Sadece simple-tags.functions.php dosyasını da buraya tıklayarak indirebilirsiniz (sağ tıklayıp farklı kaydet deyin).

Yalnızca kategori sayfalarında gösterilmesi gerekiyorsa bir şeyin aşağıdaki gibi olmalı;
<?php /* yalnızca kategori sayfalarında göster */ if (is_category()) { ?> <em></em> <?php } ?>

Yalnızca etiket arşivlerinde gösterilmesi gerekiyorsa bir kodun aşağıdaki gibi olmalı;
<?php if (is_tag()) { ?> <em></em> <?php } ?>

Yalnızca tekil yazılarda gösterilmesi gerekiyorsa bir kodun aşağıdaki gibi olmalı;
<?php /* yalnızca tekil yazılarda göster*/ if ( is_single() ) { ?> <em></em> <?php } ?>

Yalnızca ana sayfada gösterilmesi gerekiyorsa bir kodun aşağıdaki gibi olmalı;
<?php /* Yalnızca ana sayfada göster */ if ( is_home() || is_page() ) { ?> <em></em> <?php } ?>

Sonuçta fonksiyonunuz şu;
<?php st_meta_keywords2(); ?>

Bunu title da kullanmak için şöyle;
<title><?php wp_title(''); ?> - <?php st_meta_keywords2(); ?>" />

Başka yerlerde de kullanabilirsiniz her etiket arasına virgül koyarak basar, her sayfada.

Bu yöntem hem daha verimli hem de daha kolay, bu yöntemi kullanarak tüm sayfalara benzersiz başlıklar göstermeniz olanaklı hale geliyor ayrıca zaten var olan bir fonksiyonun kopyasını oluşturmuş oluyorsunuz ekstradan yük bindirmiyorsunuz blogunuza. Elbette bu başlıklarla blogunuza eşsiz bir SEO optimizasyonu da yapmış olacaksınız.

Güle güle kullanın.

WOLKANCA

Volkan Yılmaz

Volkan Yılmaz #SEO, Digital Marketing, Growth Hacking #wolkanca volkan@volkanyilmaz.com.tr

“WordPress başlıklarda etiketleri göstermek” için 10 yanıt

saol ama yazı biraz karışık.
yalnızca tekil yazılarda gösterilmesi gerekiyorsa bir kodun aşağıdaki gibi olmalı;
örneğini yaptım olmadı. tam olarak nasıl olması gerektiğini yazsaydın daha açıklayıcı olurdu.
misal ben sadece tekil yazılarda bunu yapmak istiyorum tam olarak eklemem gereken kod nedir

hkn
karışık bir şey yok sorun ne anlamadım ki cevaplayayım gereken kodu mu istiyorsun her şey yukarıda yazmışım kişiye özel yardım yapmıyorum genel soruların olursa cevaplarım.

yahu kişiye özel yardım istemiyorum. herşeyi yaptım hatta senin eklentini indirdim fakat title kısmına tam olarak ne ekleyceğimi yazarmısın
"örnek: – " />"
böylemi olacak.
tam olarak title kodları arasına ne yazacağımızı söylermisin.
böyle

yukarıda hatalı yazmışım sanırım dikkat etmemiştim.

<title><?php wp_title(''); ?> – <?php st_meta_keywords2(); ?>" /><title>

olacak başlık.yalnız bunu yapmadan önce simple tags eklentisinin "inc" klasörünün içindeki simple-tags.functions.php de değişiklik yapmanız gerekiyor, dosyanın içinde aşağıdaki kodu bul

function st_get_meta_keywords() {global $simple_tags;$tags_list = $simple_tags->generatekeywords();if ( !empty($tags_list) ) {return "". '' ."". '<meta name="keywords" content="'. $tags_list. '" />'. "
";}

hemen altına

function st_get_meta_keywords2() {global $simple_tags;$tags_list = $simple_tags->generatekeywords();if ( !empty($tags_list) ) {return "". '' ."". ''. $tags_list. '"'. "";}return '';}

yaz.

yukarıda yaptığımız st_get_meta_keywords fonksiyonundan kopya bir tane daha(st_get_meta_keywords2) yapıp <meta name="keywords" content=& siz sadece etiket isimlerini yazdırmak.

aslında herşey tamam ama title kısmına tam olarak ne yazacağız buna bir örnek verirsen tam açıklayıcı olacak.
örnek: – " />

böylemi olacak.