3 Cách hiển thị Recent Comments
- February 1, 2010
- 10 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ì.

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 và $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.
Giải pháp hosting free cho Amateur »
Cái comment của WP có thể xài cho trang web không bạn
Không, nó chỉ có thể được xài cùng với WordPress và không thể tách rời.
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.
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 ^^.
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á
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.
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.
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/
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
anh DW oi. lam sao minh tao Comment tren web binh thuong bang cach ket noi MySQL + PHP ha anh.