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).

function bg_recent_comments($no_comments = 5, $comment_len = 80, $avatar_size = 48) { $comments_query = new WP_Comment_Query(); $comments = $comments_query->query( array( 'number' => $no_comments ) ); $comm = ''; if ( $comments ) : foreach ( $comments as $comment ) : $comm .= '<li><a class="author" href="' . get_permalink( $comment->comment_post_ID ) . '#comment-' . $comment->comment_ID . '">'; $comm .= get_avatar( $comment->comment_author_email, $avatar_size ); $comm .= get_comment_author( $comment->comment_ID ) . ':</a> '; $comm .= '<p>' . strip_tags( substr( apply_filters( 'get_comment_text', $comment->comment_content ), 0, $comment_len ) ) . '...</p></li>'; endforeach; else : $comm .= 'No comments.'; endif; echo $comm; }

Đ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.