
Bu yazımızda bildiğiniz veya bilmediğiniz kısa ve kolay bir yöntemden bashedeceğiz. Konumuz yazı içinde benzer yazılarımızı etiketlere veya kategorilere göre göstermektir. Her eklentinin kurulması sitemiz için sorunlar oluşturabiliyor. Kod ile çalışmak her zaman biraz daha uğraştırıcı olsa da daha mantıklıdır.
Örnek görmek istiyorsanız sitemiz üzerinden bir konumuza bakıp oradaki benzer yazıları görebilrsiniz. Ama ona benzer bir etiketlenmiş bir veya birçok yazı yoksa, görme imkanınız maalesef yok. Ama biz yinede bir konumuzdan resim koyup bilmeyen kullanıcılar için göstermek isteriz. Buyrun aşağıdaki resime…

Gelelim kodlarımıza;
Etiket sistemine göre benzer yazıları göstermek istiyorsanız aşağıdaki kodu kullanabilirsiniz. Bu kodu single.php içinde istediğiniz yere koyabilirsiniz.
[php]<?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();
}
?>[/php]
Kategori sistemine göre benzer yazıları göstermek istiyorsanız yine aynı şekilde aşağıdaki kodu kullanabilirsiniz. Bu kodu single.php içinde istediğiniz yere koyabilirsiniz.
[php]<?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();
}
?>[/php]
Teşekkürler, bende tam bunu arıyordum.
teşekkürler.