wp hack: related post dengan short code
Kemarin saya sudah menuliskan tentang cara membuat related post tanpa menggunakan plugins di tulisan berikut ini. Nah jika dengan cara tersebut maka kita akan mengalami kesusahan karena mesti edit thema dan harus tahu dimana kita harus meletakkan related post. Selain itu kita juga harus memperhatikan css thema kita supaya nanti tampilan blog kita tidak menjadi acak – acakan. Membuat related post dengan short code akan memang juga masih mengedit bagian file dari thema kita tetapi lebih mudah karena file yang dimaksudkan adalah pada file functions.php
Kita paste code- code dibawah ini pada file functions.php thema yang kita gunakan.
<?php
/*
Mulai di copy dari sini tanpa tag pembuka PHP
*/
function related_posts_shortcode( $atts ) {
extract(shortcode_atts(array(
'limit' => '5',
), $atts));
global $wpdb, $post, $table_prefix;
if ($post->ID) {
$retval = '<ul>';
// Get tags
$tags = wp_get_post_tags($post->ID);
$tagsarray = array();
foreach ($tags as $tag) {
$tagsarray[] = $tag->term_id;
}
$tagslist = implode(',', $tagsarray);
// Do the query
$q = "SELECT p.*, count(tr.object_id) as count
FROM $wpdb->term_taxonomy AS tt, $wpdb->term_relationships AS tr, $wpdb->posts AS p WHERE tt.taxonomy ='post_tag' AND tt.term_taxonomy_id = tr.term_taxonomy_id AND tr.object_id = p.ID AND tt.term_id IN ($tagslist) AND p.ID != $post->ID
AND p.post_status = 'publish'
AND p.post_date_gmt < NOW()
GROUP BY tr.object_id
ORDER BY count DESC, p.post_date_gmt DESC
LIMIT $limit;";
$related = $wpdb->get_results($q);
if ( $related ) {
foreach($related as $r) {
$retval .= '
<li><a title="'.wptexturize($r->post_title).'" href="'.get_permalink($r->ID).'">'.wptexturize($r->post_title).'</a></li>
';
}
} else {
$retval .= '
<li>No related posts found</li>
';
}
$retval .= '</ul>
';
return $retval;
}
return;
}
add_shortcode('related_posts', 'related_posts_shortcode');
/*
cukup di coppy sampai sini saja tanpa tag penutup PHP
*/
?>
Nah setelah itu cara menggunakannya pun sangat mudah yaitu dalam setiap akhir post, kita ketikkan
. Atau agar kita tidak kelupaan maka bisa juga membuat custom fields untuk ini.
Tulisan berkaitan
- wp hack : Mengganti tanggal posting menjadi “jam/hari yang lalu”
- Menambahkan custom content pada setiap akhir posting
- Install 2 blog wordpress dalam 1 database
- wp hack : menampilkan cuplikan tulisan acak
- wp hack : Menampilkan posting rss blog lain di blog anda
This article is copyright © 2010




mantap triknya ne..