WordPresste benzer yazıları gösterme için bir çok eklenti mevcut. Fakat eklentiler fazladan css ve js kütüphane yüklediği için kullanıcılar tarafından pek tercih edilmiyor. Yazılarımızın sonunda o yazıya benzeyen diğer yazıları eklentisiz bir şekilde göstermenin 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, // Number of related posts that will be shown.
'caller_get_posts'=>1
);
$my_query = new wp_query($args);
if( $my_query->have_posts() ) {
echo '
<h3>Related Posts</h3>
<ul>';
while ($my_query->have_posts()) {
$my_query->the_post();
?>
<li><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a></li>
<?php
}
echo '</ul>
';
}
}
?>
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, // Number of related posts that will be shown.
'caller_get_posts'=>1
);
// Rest is the same as the previous code



