MWI – Penulis pernah menggunakan YARPP (Yet Another Related Posts Plugin) namun ketika plugin yang digunakan sudah semakin banyak terasa dampaknya pada lambatnya web berbasis wordpress, akhirnya penulis mencari alternatif lain untuk menampilkan artikel terkait. Akhirnya dapatlah membuat artikel terkait (related post) tanpa menggunakan plugin pada wordpress.
Artikel Terkait berdasarkan Kategori yang sama
Buka menu Appearance => Editor (Tampilan => Penyunting Tema), lalu cari file single.php temukan code <?php the_content(); ?> atau sejenisnya (dalam themes yang digunakan, contoh kali ini pada tema Iconic One) yang ditemukan code <?php get_template_part( ‘content’, get_post_format() ); ?>
Tambahkan code setelah <?php get_template_part( ‘content’, get_post_format() ); ?>
<nav class="nav-single">
<?php
//Tambahan Untuk Artikel terkait
$this_post = $post;
$category = get_the_category(); $category = $category[0]; $category = $category->cat_ID;
$posts = get_posts('numberposts=6&offset=0&orderby=post_dat e&order=DESC&category='.$category);
$count = 0;
foreach ( $posts as $post ) {
if ( $post->ID == $this_post->ID || $count == 5) {
unset($posts[$count]);
}else{
$count ++;
}
}
?>
<?php if ( $posts ) : ?><h3>Artikel Terkait :</h3><ul><?php foreach ( $posts as $post ) : ?>
<li>
<a href="<?php the_permalink() ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a></li><?php endforeach // $posts as $post ?></ul>
<?php endif // $posts ?>
<?php $post = $this_post;
unset($this_post);
//Akhir Artikel Terkait
?>
</nav>
Jika muncul
artinya ada code yang salah, segera perbaiki jika tak ditemukan hapus kembali code yang kita tambahakn untuk mengembalikan kondisi ke semula (disarankan backup file single.php diaawal sebelum diubah-ubah). Mestinya akan menghasilkan tampilan seperti ini
Artikel Terkait berdasarkan Tag yang sama
<nav class="nav-single">
<h3>Related Post : </h3>
<ol type='1'>
<?php $tags = wp_get_post_tags($post->ID);
if ($tags) { $first_tag = $tags[0]->term_id;
$args=array( 'tag__in' => array($first_tag), 'post__not_in' => array($post->ID), 'showposts'=>5, 'caller_get_posts'=>1 );
$my_query = new WP_Query($args);
if( $my_query->have_posts() ) {
while ($my_query->have_posts()) : $my_query->the_post(); ?> <li><a title="<?php the_title(); ?>" href="<?php the_permalink() ?>" rel="bookmark"><?php the_title(); ?></a></li> <?php
endwhile;
}
}
?>
</ol>
</nav>
Artikel Terkait berdasarkan Kategori dan Tag yang sama
Misal diinginkan berdasarkan kategori ada 3 artikel dan berdasarkan tag ada 2 artikel, maka 2 cara diatas digabungkan menjadi
<nav class="nav-single">
<?php
//Tambahan Untuk Artikel terkait
$this_post = $post;
$category = get_the_category(); $category = $category[0]; $category = $category->cat_ID;
$posts = get_posts('numberposts=6&offset=0&orderby=post_dat e&order=DESC&category='.$category);
$count = 0;
foreach ( $posts as $post ) {
if ( $post->ID == $this_post->ID || $count == 3) {
unset($posts[$count]);
}else{
$count ++;
}
}
?>
<?php if ( $posts ) : ?>
<h3>Artikel Terkait :</h3>
<ul><?php foreach ( $posts as $post ) : ?>
<li><a href="<?php the_permalink() ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a></li>
<?php endforeach // $posts as $post ?>
<?php $tags = wp_get_post_tags($post->ID);
if ($tags) { $first_tag = $tags[0]->term_id;
$args=array( 'tag__in' => array($first_tag), 'post__not_in' => array($post->ID), 'showposts'=>2, 'caller_get_posts'=>1 );
$my_query = new WP_Query($args);
if( $my_query->have_posts() ) {
while ($my_query->have_posts()) : $my_query->the_post(); ?> <li><a title="<?php the_title(); ?>" href="<?php the_permalink() ?>" rel="bookmark"><?php the_title(); ?></a></li> <?php
endwhile;
}
}
?>
</ul>
<?php endif // $posts ?>
<?php $post = $this_post;
unset($this_post);
//Akhir Artikel Terkait
?>
</nav>
Demikian tutorial yang sedikit ini, semoga menjadi bermanfaat untuk yang membutuhkan, demikian dan terima kasih. (ms)