WordPress’te Eklenti Kullanmadan Benzer Yazıları Gösterin

WordPress günlüklerimiz için her ihtiyacımıza yönelik birer eklenti mevcut fakat bazen eklentisiz bir şekilde, saf WordPress fonksiyonlarıyla işleri yürütmek daha mantıklı olabiliyor. Buna bir örnek de yazılarımızın sonunda o yazıya benzeyen diğer yazıları eklentisiz bir şekilde göstermek. Bunu yapmanın iki yolu var. Birincisi benzerliği etiketlere göre, ikincisi ise benzerliği kategorilere göre belirlemek.

Etiketlere Göre Benzerlik

Yazmış olduğumuz yazıyla aynı etikete/etiketlere sahip benzer yazıları göstermek için aşağıdaki kodu kullanabilirsiniz. Bu kodu temanızın single.php dosyasında döngünün içine yazmalısınız.

<?php
$tags = wp_get_post_tags($post->ID);
if ($tags) {
	$tag_ids = array();
	foreach($tags as $individual_tag) $tag_ids[] = $individual_tag->term_id;

	$args=array(
		'tag__in' => $tag_ids,
		'post__not_in' => array($post->ID),
		'showposts'=>5, // Gösterilecek benzer yazı sayısı
		'caller_get_posts'=>1
	);

	$my_query = new wp_query($args);
	if( $my_query->have_posts() ) {
		echo '<h3>Benzer yazılar</h3><ul>';
		while ($my_query->have_posts()) {
			$my_query->the_post();
		?>
			<li><a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title_attribute(); ?>"><?php the_title(); ?></a></li>
		<?php
		}
		echo '</ul>';
	}
wp_reset_query();
}
?>

Kategoriye Göre Benzerlik

Bu koda göre yazımızla aynı kategorideki yazılardan seçim yapılarak benzer yazılar gösterilir. Kod yine single.php dosyasına yazılmalıdır.

<?php
$categories = get_the_category($post->ID);
if ($categories) {
	$category_ids = array();
	foreach($categories as $individual_category) $category_ids[] = $individual_category->term_id;

	$args=array(
		'category__in' => $category_ids,
		'post__not_in' => array($post->ID),
		'showposts'=>5, // Gösterilecek benzer yazı sayısı
		'caller_get_posts'=>1
	);

        $my_query = new wp_query($args);
	if( $my_query->have_posts() ) {
		echo '<h3>Benzer yazılar</h3><ul>';
		while ($my_query->have_posts()) {
			$my_query->the_post();
		?>
			<li><a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title_attribute(); ?>"><?php the_title(); ?></a></li>
		<?php
		}
		echo '</ul>';
	}
wp_reset_query();
}
?>

Kaynak: Bin-Blog

Benzer Yazılar

yakuter

Erhan Yakut

www.yakuter.com

Genç yaşlarda programlama ile tanıştı ve Delphi ile başladığı programlama macerasına şuanda PHP, SQL, Javascript, AJAX, CSS, XHTML teknolojileri ile devam etmektedir. Elektrik - Elektronik bölümü mezunu olan "yakuter" 2006 yılından itibaren yakuter.com'un yazarlığını yapmaya başlamıştır.

Bu Yazıya Ait Yorumlar

ibrahim

ibrahim
01 Şubat 2010

İlk teşekkür benden olsun. Uzun zamandır sitemde yapmayı düşündüğüm bir değişiklikti. Çok teşekkür ederim paylaşımın için Erhan abi

Oktayusx

Oktayusx
06 Şubat 2010

Etiketlere göre benzerlik pek fazla işe yaramaz.. Ama kategoriye göre benzerlik çok güzel olucaktır. Eklentisiz de olması ayrı bir güzellik. :)

Utku

Utku
07 Şubat 2010

Konu ile alakası olmasada wordpress ile ilgili soru sorayım dedim :)

WP yazılan her yazıda örneğin 190 harften sonrası gözükmesin, more tagı eklensin.. Tabi bunu var olan bir site üzerinde yapacağım için önceden eklemiş olduğum 1000 yazıda da aynı uygulama söz konusu olacak

yakuter

yakuter
07 Şubat 2010

@Utku, şu yazımı okumanı tavsiye ederim ;)

WordPress the_excerpt() Fonksiyonundaki Gelişmeler

Notlarım : Wordpress’te Eklenti Kullanmadan Benzer Yazıları Gösterin « ~ Özkan UZUN ll Kişiselizm ll

Notlarım : Wordpress’te Eklenti Kullanmadan Benzer Yazıları Gösterin « ~ Özkan UZUN ll Kişiselizm ll
08 Şubat 2010

[...] Yakuter‘de gördüğüm hoş ve güzel manuel olarak eklenebilecek  benzer yazılar eklentisi ile wp’deki sitelerimizi daha fazla güzelleştirebiliriz.Zamanla bende kendi blogumda bu eklentiyi ekliyor olacağım – şimdiden notlarım arasına almak istedim. [...]

Wordpress’te Benzer Yazıları Gösterme « MsKcR'nin Günlüğü

Wordpress’te Benzer Yazıları Gösterme « MsKcR'nin Günlüğü
09 Şubat 2010

[...] Yazının orjinal adresi için Tıklayınız… Arkadaşımızın sitesini ziyaret etmek için Tıklayınız… [...]

Savas Avcu

Savas Avcu
17 Şubat 2010

Merhaba,

Kodu hangı dongunun ıcerısıne eklıyoruz acaba?

Tesekkur ederim.

yakuter

yakuter
18 Şubat 2010

single.php dosyası içindeki ana döngünün yani yazıyı gösteren döngünü içine eklemelisiniz.

Naim Tüfekçi

Naim Tüfekçi
19 Şubat 2010

Teşekkürler etiketlere göre kulllanınca güzel oldu :)
Örnek Burada Çoğu temalarda diye o konunun orada bittiğini belirten kod vardır ondan önce eklersek konunun hemen altında görebiliriz.

Serhat Yolaçan

Serhat Yolaçan
21 Şubat 2010

wp_query ile gerçekten inanılmaz şeyler yapılabiliyor ancak burada her yazı için yeni sorgu oluşturur ve CPU’ya yük bindirir diye düşünüyorum. Konu eklentisiz benzer yazılar da olsa YARPP (Yet another related posts) eklentisi çok iyi. Matt (ma.tt) wp geliştiricisinin tavsiye ettiği bir eklenti. Cache sistemi mevcut. Ayrı tutmak istediğiniz kategoriler. Benzer yazılar kısmı için template desteği vesaire vesaire saymakla bitmiyor özellikleri… Ancak yazınız ilham kaynağı oluşturması açısından çok güzel ayrı konu…

Wordpress Eklentisiz Benzer Yazıları Gösterme |

Wordpress Eklentisiz Benzer Yazıları Gösterme |
22 Şubat 2010

[...] arkadaşlar, az önce Yakuter’in bloğunda gördüğüm güzel bir paylaşımı  kendi bloğum için uyguladım ve başarılı [...]

yakuter

yakuter
23 Şubat 2010

@Serhat, söylediklerine tamamen katılıyorum, söyleyecek başka söz yok ;) Ayrıca WP_Query’den fazla bahsetmiyorum ama o olmasaydı ne yapardım bilemiyorum :)

Aydın

Aydın
27 Şubat 2010

hmm. ilgimi çekti Eklentisiz olabiliyorsa ne güzel.

Yusuf Sinan Kaya

Yusuf Sinan Kaya
27 Şubat 2010

Sağolasın

KaaN

KaaN
01 Mart 2010

güzel bir paylaşım gerçekten ama tek sıkıntısı yine resimleri boyutlandıracak bir related post eklentisi yada manuali hala wordpresste mevcut değil. Var olanlar ise resimleri kendi sunucunuzda barındırma zorunluluğu getiriyor…

Umarım siz değerli Wp uzmanları bu soruna bir çözüm bulabilirsiniz..

Yakup

Yakup
20 Mart 2010

Eyvallah sağolasın, eklentisiz yapmak ayrı bi güzellik. Böyle şeyler arıyordum. Birde bunu özelleştirebilirmiyiz kodlarla, arkapalan rengi yazı rengi gibi.. ? Teşekkürler

yakuter

yakuter
21 Mart 2010

Biraz HTML ve CSS biliyorsanız dilediğiniz gibi özelleştirebilirsiniz ;)

tuucem

tuucem
07 Nisan 2010

cok gusel

levent

levent
30 Mayıs 2010

üstad güzel eklenti yanlız konu başında çıktı sonuna nasıl çıkartabiliriz.

yakuter

yakuter
01 Haziran 2010

@Levent, kodu nereye yerleştirdiği ve kullandığın CSS seçicileri ile ilgili bir durum seninki. Bu da tasarımdan tasarıma değişir. Bu nedenle kişisel yardım alman daha uygun olabilir.

zehra karaçak

zehra karaçak
11 Haziran 2010

eklentisiz olması çok hoş birşey tebrik ediyorum, gerçekten çok başarılı olmuş..

Tolga LEVENT

Tolga LEVENT
17 Haziran 2010

Erhan abi birşeyi merak ettim bu kod ile ilgili, hani sen anlatımında da söylemişsin ya Etiketlere göre veya Kategorilere göre diye, Peki bunu konu adlarına göre yapsak, daha doğrusu nasıl yaparız?

yakuter

yakuter
17 Haziran 2010

Konu adlarına göre derken neyi kastediyorsun? Başlıkları birbirine yakın olanlar mı?

Tolga LEVENT

Tolga LEVENT
21 Haziran 2010

evet evet, başlıklar birbirine yakın olan yani blogumuzdaki konuların isimlerinin birbirlerine benzeyenleri. Örn: "WordPresste eklenti kullanmadan benzer yazıları gösterin" konu adı ile, "Benzer yazıları göstermeye yarayan wordpress eklentisi" konu adları birbirine benzer olarak gösterilsin istiyorum yani etikete göre falan da değil hocam umarım anlatabilmişimdir :)

Cyprus

Cyprus
24 Haziran 2010

İlk teşekkür benden olsun. Uzun zamandır sitemde yapmayı düşündüğüm bir değişiklikti. Çok teşekkür ederim paylaşımın için, Aciklamali anlatimlarin icin tesekkurler Yazilarin devamini bekliyorum.

Saygilar

Özkan

Özkan
10 Temmuz 2010

Aktuelegitim.com da kurdum. Çok işimi gördü.
Teşekkür ederim

Tolga LEVENT

Tolga LEVENT
12 Temmuz 2010

Abi birde aklıma gelmişken, Etiketlere göre benzer yazıları göstermek için gerekli olan kodu temaya uygulamak istiyorum fakat, eğer benzer yazı çıkmaz ise, "Benzer yazı bulunamadı" şeklinde nasıl gösterebiliriz.

Profesyonel

Profesyonel
31 Temmuz 2010

Erhan hocam her temada çalışmıyor galiba ugraştım ugraştım çalışmadı. Yada sanırım ben döngulerin yerini ayarlıyamıyorum. Ama eklenti ile de guzel oluyor adı; Contextual Related Posts zahmetsiz ve hızlı :)

eYaGMuR

eYaGMuR
01 Ağustos 2010

Çok teşekkürler günlerdir saçma sapan eklentiler ile ugraşıp duruyordum.kodlar işimi gördü ellerinize sağlık.

sesli chat panelleri

sesli chat panelleri
03 Ağustos 2010

tşk oldu

Emre Çolak

Emre Çolak
05 Ağustos 2010

Teşekkürler eklenti ile yapmaktan her zaman daha iyidir.

Bilal YILMAZ

Bilal YILMAZ
10 Ağustos 2010

merhaba müzik sitesi için albüme göre benzer yazılar koduna çevirebilme ihtimaliniz varmı?

tescilpanel

tescilpanel
16 Ağustos 2010

Oyun Sesli Sohbet hersey tescilpanel de

ozan

ozan
18 Ağustos 2010

çook teşekkür ederim, çok işime yaradı

Peki ya sizin düşünceleriniz?

Facebook Grubumuz Twitter Wordpress Linked in Google Friendfeed RSS Beslemesi Feedburner RSS

Abonelik

Yazılan yazılardan ilk siz haberdar olun, yeni yazılar e-postanıza gönderilsin.

yakuter.com © 2006-2010 Erhan Yakut. Site tasarım Cenk Akyıldız - (Tema Bilgisi). Hosting sponsoru WebGrup.
Site içerisindeki içerikler izinsiz kopyalanamaz, alıntı yapılamaz.

WordPressValid XHTML 1.0 TransitionalBu web sitesi ne kadar popüler?php