Go Dilinde Concurrency

2,068 More

Projedeki Git Dosyaları Nasıl Silinir?

1 7,472 More

yTheme

4 2,629 More

Sunucu Güvenliği | SSH (Secure Shell) Kullanımı

2 2,058 More

Truemag

  • PHP
  • Golang
  • Laravel
  • Linux
  • SQL
  • SEO
  • WordPress
  • Diğer
    • Yazılım
    • Javascript
    • Css/XHtml/W3C
    • Genel
    • Tanıtım
    • Ajax
  • Home
  • ANASAYFA
  • HAKKIMDA
  • SPONSORLUK
  • ARŞİV
  • İLETİŞİM
  • BENİMLE ÇALIŞMAK İSTER MİSİNİZ?

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östermektir. 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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?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();
}
?>

Not 1: Eğer bu konuda daha gelişmiş bir yöntemi tercih ederim, eklenti olsa da olur derseniz size kesinlikle YARPP (Yet Another Related Posts Plugin) eklentisini tavsiye ederim.

Not 2: Bu yazıyı yazalı aslında çok oldu ancak yazıda belirtilenleri yeniden kullanma gereği hissedince yazının tarihini güncellemenin faydalı olabileceğini düşündüm. 3 yıllık yazının hala geçerliliğini koruduğunu görmek güzel ;)

Kaynak: Bin-Blog

Tem 6, 2013Erhan Yakut
Cloud Sunucu


hosting

Wordpress'te Eklenti Kullanmadan Sayfalamaphp-ist 2013 - PHP Kodlama Standartları
You Might Also Like
 
Yorumları Tersten Numaralandırmak
 
WordPress’te Kategorileri Yanyana Dizmek
Erhan Yakut
7 years ago 74 Comments Wordpresseklentisiz, Wordpress, YARPP, Yet Another Related Posts Plugin21,349
Sponsorlar

sponsor

sponsor

sponsor

sponsor
Bağlantılar
  • Beyazıt Kölemen
  • Domatessuyu
  • Lezzetli Robot Tarifleri
  • Ofizzo
  • PHP Dersleri
  • Wordpress Hosting
Random Posts
Javascript ile E-posta Kontrolü
Projedeki Git Dosyaları Nasıl Silinir?
WordPress the_excerpt() Fonksiyonu
Kısa Bir İstanbul Ziyareti
İyi Bayramlar, Mutlu Yıllar…
sdafasdf
Hakkımda

Bilişim Teknolojileri alanında içerik üretmek üzere oluşturulmuş olan Yakuter.com 2006 yılında Erhan Yakut tarafından hayata geçirilmiştir. devamını okuyun…

CLOUD SUNUCU DESTEĞİ
2006-2020 © Yakuter