wordpress logo

Cara Membuat Related Posts di WordPress tanpa Plugin

Fitur related posts yangpada artikel sangat baik untuk membantu pengunjung nimenemukan artikel yang berkaitan dengan artikel yang sedang dibaca/ditampilkan. Untuk menampilkan related posts ini, biasanya pemilik website WordPress menggunakan salah satu dari sekian banyak plugin related posts. Plugin-plugin related posts ini memiliki kelebihan dan kekurangan masing-masin, misalnya dari segi relevansi hasil, kecepatan, fleksibilitas, dan lain sebagainya.

Menampilkan related posts juga bisa dilakukan tanpa menggunakan plugin. Cara ini cukup sederhana, yaitu dengan menambahkan beberapa kode di theme yang Anda gunakan. Selain caranya cukup mudah, fitur related posts juga sudah mumpuni, relatif lebih cepat dan ringan, dan juga sudah dapat menampilkan thumbnail. Cara membuat related posts tanpa plugin, yaitu dengan mengikuti langkah berikut ini.

Membuat Related Posts tanpa Menggunakan Plugin

Related Posts Berdasarkan Tags.

Kode related posts berdasarkan tags adalah sebagai berikut:

<?php 
$orig_post = $post;
global $post;

// kategori atau tag
// ganti mulai di sini.
$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),
    'posts_per_page'=>6, // Jumlah related post yang akan ditampilkan.
    'caller_get_posts'=>1,
    'orderby'=>'rand'
    );
// Stop ganti di sini

    $my_query = new wp_query( $args );
	if( $my_query->have_posts() ) { ?>
     
     <section id="related-posts">
     <h3 id="related-posts-title">Artikel Berkaitan</h3>
     	<ul><?php

    while( $my_query->have_posts() ) {
    	$my_query->the_post();?>
		<li class="related-items">
			<?php if ( has_post_thumbnail() ) { ?>
				<a href="<?php the_permalink() ?>" title="<?php the_title(); ?>" rel="nofollow" id="featured-thumbnail">
					<?php the_post_thumbnail('thumbnail',array('title' => '')); ?>
				</a>
			<?php } else { ?>
				<a href="<?php the_permalink() ?>" title="<?php the_title(); ?>" rel="nofollow" id="featured-thumbnail">
					<img src="<?php echo get_stylesheet_directory_uri(); ?>/images/nothumb.jpg" class="attachment-featured wp-post-image" alt="<?php the_title(); ?>">
				</a>
			<?php } ?>	
        <h4 class="entry-title"><a href="<?php the_permalink()?>" rel="bookmark" title="<?php echo esc_attr( sprintf( the_title_attribute( 'echo=0' ) ) ); ?>"><?php the_title(); ?></a></h4>
        </li>
<?php } ?>
</ul></section>
<?php    }
}
 $post = $orig_post;
wp_reset_query(); 
?>

 

Simpan file di atas dengan nama related-posts.php, tempatkan dalam folder theme Anda.

Lalu, buka file single.php yang terdapat pada folder theme WordPress Anda, lalu tempatkan kode berikut ini:

<?php get_template_part('related', 'posts'); ?>

Lalu pada style.css, atur tampilan dengan menambahkan kode berikut ini:

#related-posts {
clear:both;
}
#related-posts li {
float:left;
padding-right:5px;
width:50%;
display:inline;
}
#related-posts img {
max-width:80px;
height:auto;
margin-right:10px;
float:left;
}

Pada tahap ini, Anda sudah dapat menampilkan related posts tanpa menggunakan plugin.

Related Posts Berdasarkan Kategori Artikel.

Kode di atas adalah untuk menampilkan related posts berdasarkan tags yang digunakan pada postingan. Artinya, artikel yang berkaitan adalah artikel yang memiliki kesamaan tags dengan artikel yang sedang terbuka. Selain tags, related posts juga dapat ditampilkan berdasarkan kategori yang digunakan. Caranya hampir sama, yaitu sebagai berikut:

Pada kode di atas (related-posts.php), ganti kode di antara tanda berikut:

// ganti mulai di sini
...
// stop ganti sampai di sini

Ganti dengan kode berikut ini:

$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),
    'posts_per_page'=> 6, // Jumlah related post yang akan ditampilkan
    'ignore_sticky_posts'=>1,
    'orderby'=>'rand',
    );

Lalu simpan, dan related posts pada artikel Anda akan menampilkan artikel yang memiliki kategori yang sama.

***

Selamat mencoba. Baca pula artikel sebelumnya mengenai cara membuat widget area di WordPress.

Bekerja online dan mengelola website. Sekarang tinggal sambil berwisata di Pulau Lombok.

1 Comment

Leave a Comment