Recent Comment Tanpa Plugin

Recent Comment tanpa plugin dengan Gravatar adalah tema WordPress Tricks kali ini. Bagi saya WordPress emang tiada matinya (drinking), sebagai penggemar wordpress, saya termasuk nubi yang selalu belajar dan memberikan sesuatu yang bermanfaat. Saya sudah mencoba mengulas bagaimana bikin related post tanpa plugin dan Alhamdulillah banyak yang berminat.. Kali ini saya akan berbagi tips cara bikin Recent Comment tanpa plugin dengan Gravatar ;)

Caranya gimana? Yang jelas kita butuh Text Editor, dan sedikit kemauan serta kemampuan untuk sedikit olah olah dengan bahasa HTML dan PHP. Siap? mari kita siapkan lapak (scenic)

Bikin Recent Comment Tanpa Plugin

Anda bisa menambah Recent Comment ini di Sidebar (sidebar.php) atau di Footer (footer.php) atau dimanapun anda mau. Setelah memutuskan lokasi anda ingin taruh recent comment tanpa plugin ini, kemudian tulis atau kopas kode dibawah ini

<?php
$query = "SELECT * from $wpdb->comments WHERE comment_approved= '1'
ORDER BY comment_date DESC LIMIT 0 ,5";
$comments = $wpdb->get_results($query);
if ($comments) {
echo '<ul>';
foreach ($comments as $comment) {
$url = '<a href="'. get_permalink($comment->comment_post_ID).'#comment-'.$comment->comment_ID .'" title="'.$comment->comment_author .' | '.get_the_title($comment->comment_post_ID).'">';
echo '<li>';
echo '<div class="img">';
echo $url;
echo get_avatar( $comment->comment_author_email, $img_w);
echo '</a></div>';
echo '<div class="txt">Par: ';
echo $url;
echo $comment->comment_author;
echo '</a></div>';
echo '</li>';
}
echo '</ul>';
}
?>

Atau kode alternatipnya seperti dibawah ini

<li class="boxr therecent">
<h3>Recent Comments</h3>
<ul class="recent-comment">
<?php
$comments = get_comments('number=5');
foreach($comments as $comm) :
$url = '<a href="'. get_permalink($comm->comment_post_ID).'#comment-'.$comm->comment_ID .'" title="'.$comm->comment_author .' | '.get_the_title($comm->comment_post_ID).'">' . $comm->comment_author . '</a>';
?>
<li>
<?php echo get_avatar($comm->comment_author_email, 30); ?>
<strong><?php echo $url; ?></strong>
<p><?php echo $comm->comment_content; ?></p>
</li>
<?php
endforeach;
?>
</ul>
</li>

Kemudian agar tampilan sedikit menantang dan nyaman dimata anda perlu menambahkan sedikit bahasa CSS di style.css theme anda, buka style.css dan tambahkan kode berikut ini

.recent-comment li {
display: block;
padding: 8px 0;
border-bottom: 1px dotted #ccc;
}
.recent-comment .avatar-30 {
float: left;
margin-right: 10px;
}

Update 20 Februari 2010
Kode diatas masih ada sedikit yang mengganggu, salah satu gangguan adalah ketika komentar terlalu panjanga make tampilan akan sedikit aneh, solusinya adalah menerapkan teknik dari Cak Bayu, yaitu dengan menambah fungsi pembatasan jumlah kata yang ditampilkan.

Oke mari kita lanjut gan. Buka functions.php di theme yang anda pake, kemudian tambahkan kode berikut ini

function trim_word( $words, $howmany = 1){
$x = explode(" ", $words);
if(count( $x) <= $howmany ){
return $words;
} else {
return implode(" ", array_slice( $x, 0, $howmany));
}
}

Jika sudah, kemudian edit kembali kode recent comment tanpa plugin diatas pada bagian ini saja.

<p><?php echo $comm->comment_content; ?></p>

Menjadi Seperti ini

<p><?php $words = $comm->comment_content; echo trim_word($words, 30) . "n"; ?></p>

Oke silahkan ditest kembali, recent comment anda terlihat lebih sedap dipandang bukan?

Kode kode diatas adalah salah satu tutorial dari WP Tricks tentang How To Create Recent Comment without plugin. Dan ingat kode CSS diatas tidak wajib seperti itu, anda bisa memodifikasinya seperlunya dan sepantasnya… Jika kode kode diatas telah tersalin langkah selanjutnya silahkan test dan woola selamat anda barusan menampilkan recent comment tanpa plugin. Semoga bermanfaat dan jika ada kode alternatip yang lebih nyaman… saya tunggu sharingnya… (hungry)

25 thoughts on “Recent Comment Tanpa Plugin
  1. Saya biasa menggunakan ini om:

    <?php
    global $wpdb;
    $sql = "SELECT DISTINCT ID, post_title, post_password, comment_ID,
    comment_post_ID, comment_author, comment_date_gmt, comment_approved,
    comment_type,comment_author_url,
    SUBSTRING(comment_content,1,45) AS com_excerpt
    FROM $wpdb->comments
    LEFT OUTER JOIN $wpdb->posts ON ($wpdb->comments.comment_post_ID =
    $wpdb->posts.ID)
    WHERE comment_approved = ‘1’ AND comment_type = ” AND
    post_password = ”
    AND user_id != ‘1’
    ORDER BY comment_date_gmt DESC
    LIMIT 6";
    $comments = $wpdb->get_results($sql);
    $output = $pre_HTML;
    $output .= "n<ul>";
    foreach ($comments as $comment) {
    $output .= "n<li>".strip_tags($comment->comment_author)
    ." said: " . "<a href="" . get_permalink($comment->ID) .
    "#comment-" . $comment->comment_ID . "" title="di " .
    $comment->post_title . "" rel="nofollow">". strip_tags($comment->com_excerpt)
    ."</a></li>";
    }
    $output .= "n</ul>";
    $output .= $post_HTML;
    echo $output;?>

  2. saya sudah pake nih..
    keren banget (dance)

    tapi kalo isi commentnya yang tampil kita batasin bisa ndak?
    kalo kode ini (ane pake kode alternatipnya :-D ) kan smua isi komentar tampil di widget, jadi penuh banget (annoyed)

    *subscribed, nuggu jawaban (music)
    .-= Syahuri´s last blog ..Testing – Barusan Pindah Hosting =-.

  3. Saya mau kasih comment saja *lagi males ngeblog:D*
    Sebaiknya sih, direct akses ke database dikurangi, selama masih ada API yang bisa digunakan.

    Ini contoh yang sepadan dengan diatas, tapi pakai built-in function:
    comment_author);
    endforeach;
    ?>

      1. Intinya sih:

        $comments = get_comments(‘status=approve&order=DESC&number=5’);
        foreach($comments as $c){
        echo $c->comment_content;
        }

        *semoga gak diparsing lagi (worship) *

  4. Pingback: Nurudin Jauhari

Please Post Your Comments & Reviews

Your email address will not be published. Required fields are marked *

*
*