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.
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();
}
?>
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
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.
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
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
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
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üğü
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… [...]
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
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
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 |
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
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 :)
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
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
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
11 Haziran 2010
eklentisiz olması çok hoş birşey tebrik ediyorum, gerçekten çok başarılı olmuş..
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
17 Haziran 2010
Konu adlarına göre derken neyi kastediyorsun? Başlıkları birbirine yakın olanlar mı?
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
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
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
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
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.
Bilal YILMAZ
10 Ağustos 2010
merhaba müzik sitesi için albüme göre benzer yazılar koduna çevirebilme ihtimaliniz varmı?
Yazılan yazılardan ilk siz haberdar olun, yeni yazılar e-postanıza gönderilsin.
menchek
02 Eylül 2010
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.