post image

3 Cách hiển thị Recent Comments

Hệ thống Comment của WordPress là một trong những tính năng rất “được lòng dân”. Và để hiển thị những lời bình luận mới nhất ra bất cứ chỗ nào bạn muốn là điều rất dễ dàng. Đôi khi bạn muốn có phần Recent Comments ở ngoài trang chủ để mọi người có thể thấy được những comments mới nhất. Trong bài này chúng ta sẽ xem xét 3 cách để hiển thị phần comments này theo thứ tự từ dễ đến khó.

Sử dụng Widget Ready của WordPress

Nếu theme bạn đang sử dụng có widget ready (thường là có) thì bạn chỉ việc vào phần Widgets và kéo tab có tên là Recent Comment vào phần mà bạn muốn, đặt cho Widget này một cái tên và xác lập số comment bạn muốn hiển thị. Tôi đa là 15 vậy là xong. Cách này dễ nhất nhưng bạn cũng có ít quyền điều khiển nó nhất. Bạn phải sử dụng bất cứ cái gì mà WordPress cho bạn mà khôgn quyết định được điều gì.

recent comments
Sử dụng Plugin Get Recent Comments

Bạn chỉ việc download và install plugin là có thể sử dụng được. Khi sử dụng Plugin này bạn cũng có nhiều quyền quyết định hơn như là hiển thị hình ảnh, bao nhiêu chữ, hiển thị theo nhóm v.v. nói chúng plugin này cũng khá tốt và xài được. Nhưng bạn cũng vẫn bị gò bó ở chức năng của plugin, ví dụ khi nào hứng chí bạn muốn hiển thị Comments lên banner thì sao?

Tự làm phần Recent Comments

Đây là cách mà tôi thích nhất nếu bạn có theo dõi các video trên izwebz thì bạn biết là tôi thích cách nào mình tự làm ra mà không phải phụ thuộc vào bên thứ 3. Mình có toàn quyền “sinh sát” trong tay. Với cách này chúng ta sẽ phải edit file functions.php với đoạn code sau: (code credited to WP Lancer).

<?php
function dp_recent_comments($no_comments = 10, $comment_len = 100) {
global $wpdb;
$request = "SELECT * FROM $wpdb->comments";
$request .= " JOIN $wpdb->posts ON ID = comment_post_ID";
$request .= " WHERE comment_approved = '1' AND post_status = 'publish'
AND post_password =''";
$request .= " ORDER BY comment_date DESC LIMIT $no_comments";
$comments = $wpdb->get_results($request);
if ($comments) {
foreach ($comments as $comment) {
ob_start(); ?>
<li>
<a href="<?php echo get_permalink( $comment->comment_post_ID ) . '#comment-' . $comment->comment_ID; ?>"><?php echo
dp_get_author($comment); ?>:</a>
<?php echo strip_tags(substr(apply_filters('get_comment_text', $comment->comment_content), 0, $comment_len)); ?>
</li>
<?php
ob_end_flush();
}
} else {
echo '<li>No Comments</li>';
}
}
function dp_get_author($comment) {
$author = "";
if ( empty($comment->comment_author) )
$author = 'Anonymous';
else
$author = $comment->comment_author;
return $author;
}
?>

Đoạn code trên nhìn có vẻ phức tạp nhưng thực chất rất đơn giản. Phần đầu chỉ là một số SQL query để chọn Comments từ database. Khi nó tìm thấy comment và phù hợp với những quy định của bạn, nó sẽ loop qua từng comment và hiển thị nó trong vòng foreach. Trong function trên bạn cần chú ý đến 2 tham số của function là $no_comments = 10$comment_len = 100. Bạn có thể thay đổi 2 giá trị này để hiển thị số comment và độ dài của từng comment. Cuối cùng bạn có thể mở file index.php ra và gọi đến hàm vừa tạo.

<?php dp_recent_comments(8); ?>

Bạn cũng có thể thêm tham số vào ngay function để hiển thị bao nhiêu comment một lượt.

«

»

  1. H.Tài says:

    Cái comment của WP có thể xài cho trang web không bạn

  2. Không, nó chỉ có thể được xài cùng với WordPress và không thể tách rời.

  3. H.Tài says:

    Vậy bạn có thể làm 1 cái comment cho web giống như các trang tin tức hay làm. Mình thấy cũng hay nên định làm 1 cái cho web của mình.

  4. Cấu trúc của comment thì cũng đơn giản mà ^^. Chỉ 1 bảng và cách lấy dữ liệu thoai ^^.

  5. Phùng Anh Tú says:

    Cho cái đoạn đó vào phần nào của trang index hả anh?

    Em thấy nó chỉ có hàm:

    Để gọi cả cái thanh bên phải lên thôi.
    Em mới học làm WP vì thấy anh khen nó hay quá :)

    • Phùng Anh Tú says:

      Ah, anh cho em hỏi thêm 1 câu nữa là cái plugin gõ tiếng Viêt của anh tên là gì vậy? Em có cài 1 số bộ gõ nhưng mà nó không thông minh. :( Đôi khi còn gây ra treo cả trình duyệt. Hix hix.

  6. Phùng Anh Tú says:

    Anh không cho sửa lại comment ah :(

    Cho cái đoạn
    <?php dp_recent_comments(8); ?>
    vào phần nào của trang index hả anh?
    Em chỉ thấy có chỗ:

    <?php get_sidebar(); ?>
    để hiển thị thanh bên phải lên thôi.
    Mà em làm cho nó hiện được ra nhưng nó không nằm trong phần recent comments mà nó nhảy hẳn ra ngoài. :(

  7. Em đã xem video của anh post về comment chưa? nếu em xem rồi thì kiểu gì em chẳng biết … còn chưa xem thì anh khuyên em nên xem đi nếu em muốn học WP.

    http://www.izwebz.com/wordpress/wordpress-theme-comment-va-custom-comment/

  8. shrimp2t says:

    OH thì ra là Truy vấn dữ liệu của Wp !! thế mà em cứ tưởg dung hàm của Wp :D

  1. BB
  2. BB
  3. BB

arrow

Lưu ý khi post comment:

  • Không "bóc tem" topic
  • Dùng lời lẽ có văn hoá và lịch sự
  • Xem trang FAQs trước khi hỏi
  • Bạn có thể dùng thẻ HTML như:<strong>, <em>, <a>
  • Wrap code trong dấu `backtick` (dấu trên phím Tab)

Chọn kiểu gõ: Tự động TELEX VNI Tắt