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