Gần đây, mình thấy nhiều blogger có quan tâm tới vấn đề hiển thị số lượng bình luận bên cạnh nickname của người bình luận.
Sau khi tìm kiếm trên Google và thử nghiệm trên ThuThuatWP mình có chút thành quả. Do vậy trong bài viết ngắn ngọn này mình sẽ chia sẻ với bạn cách thêm số lượng bình luận cho mỗi người bình luận.
Trước khi bắt tay vào cách làm, mình chỉ có lưu ý là bài viết này dành cho những bạn có thể tự tin sửa code WordPress. Code thì không phức tạp lắm đâu nhưng bạn cũng nên biết chút về lập trình.
Trước khi bạn thay đổi, nhớ backup cẩn thận để đề phòng những tình huống không mong muốn xảy ra.
Ok. Chúng ta bắt đầu thôi.
Đầu tiên bạn cần bổ sụng đoạn code vào file functions.php. Bạn nên tạo child theme trước khi thay đổi để đảm bảo khi bạn cập nhật theme những thay đổi này sẽ không mất
1 2 3 4 5 |
function commentCount() { global $wpdb; $count = $wpdb->get_var('SELECT COUNT(comment_ID) FROM ' . $wpdb->comments. ' WHERE comment_author_email = "' . get_comment_author_email() . '"'); echo $count . ' comments'; } |
Bước tiếp theo, bạn chèn đoạn code này vào nơi bạn muốn hiển thị số bình luận. File cụ thể nào thì phụ thuộc vào theme mà bạn đang dùng. Nói cách khác bạn hiểu một chút về cấu trúc theme của bạn. Thông thường file chúng ta cần thay đổi là comments.php.
1 |
commentCount(); |
Đến đây, mình muốn nâng cao một chút bằng việc không đếm bình luận cho tác giả nên mình thêm cấu trúc logic sau:
1 2 3 4 5 6 |
// Get comment classes $classes = get_comment_class(); if (!in_array( 'bypostauthor', $classes ) ) { commentCount(); } |
Nhân tiện, lúc mình có tối ưu phần bình luận của ThuThuatWP, mình nhận thấy WordPress không bổ sung thuộc tính target=”_blank” cho phần link trong comment. Kết quả là khi người bình luận bỏ một đường link trong comment mà ai đó click vào trang web của họ sẽ không mở ra một tab mới. Mà nó sẽ thay thế trang web của bạn ở tab hiện tại. Điều này không tốt cho lắm trang web của bạn. Để giải quyết vấn đề này bạn thêm đoạn code sau vào cuối file functions.php:
1 2 3 4 5 6 |
function comment_links_in_new_tab($text) { $return = str_replace('<a', '<a target="_blank"', $text); return $return; } add_filter('get_comment_author_link', 'comment_links_in_new_tab'); add_filter('comment_text', 'comment_links_in_new_tab'); |
Nếu bạn còn biết cách nào hay để đếm số lượng bình luận của người dùng trong WordPress, hãy chia sẻ nó ở phần bình luận bên dưới.
Nếu bạn yêu thích bài viết này, hãy subscribe blog của mình để thường xuyên cập nhất những bài viết hay nhất qua emall. Cảm ơn bạn rất nhiều.
Anh ơi có cách nào cấu hình để Admin nhận dc mail khi người dùng comment ko ạ?
Tính năng gửi email này wordpress có sắn rồi vào phần bình luận -> Gửi thư điện tử cho tôi khi. Còn nếu không nhận được email thử check lại với nhà cung cấp hosting hoặc sử dụng smtp server bên ngoài.
A Thịnh hướng dẫn chữ Author hiện thị cạnh tên đi ạ, chữ Author có thay bằng chữ Admin được ko a.
Cái Author này theme của mình họ đã code rồi nên mình tận dụng. Thực sự mình là lập trình viên java nên vọc sâu vào wordpress api cũng hạn chế. Sắp tới phải cày thêm php, code wordpress để nâng trình lên.
Bước 1: E add đoạn code đầu tiên vào file functions.php như này ko biết chuẩn chưa
https://prnt.sc/gxaa0u
Bước 2: E add code đếm
https://prnt.sc/gxaafx
Save lại nhưng ra bài viết xem thì vẫn ko thấy gì anh ạ 🙁
bước 2 bạn để nhầm file ,cái file bạn thêm vào nó đã gợi ý ngay file bạn cần thêm (includes\wp_booster\comments.php
Như file comment của a chả hạn thì a chèn vào đoạn nào vậy, khó với những người ko hiểu code quá 🙁
ví dụ mình sẽ sử file includes\wp_booster\comments.php như thế này: https://gist.github.com/anonymous/4c5e5f5aceb43e0a735d8d4740bf9355 ở đây mình thêm vào dòng code mới 170 mình định hiển thị sau phần thời gian ở cạnh profile người comment. Code này mình chưa test bạn test lại xem sao.
E thử view CSS ở 1 số trang đã làm thành công thì thấy cái phần comments nó ở class: wc-comment-author
E chụp đoạn đấy cho a xem nên chèn như nào ạ:
https://prnt.sc/gxkivy
Cái code của bạn mình không thấy có trong newspaper hay là code tự thêm vào hoặc plugin nào đó thêm (nhìn thấy wpdiscuz) vào sao bạn không liên hệ với admin bên đấy cho nhanh. Mình không dùng theme này cũng như plugin wpdiscuz
E thử chèn vào file a bảo dòng đó nhưng vẫn ko dc ạ 🙁
Như mình đã nói cách mình bảo chỉ áp dụng với comment mặc định của theme newspaper bây giờ bạn dùng plugin wpdiscuz thì nó thay đổi rồi, nên không thể làm như vậy mà phải sửa cái plugin wpdiscuz như cái code bạn chụp lúc cuối. Khả năng là như vậy vì mình chưa nghiên cứu code của cái plugin. Bài viết này của mình chưa đề cập đến plugin này. Trong những người comment ở bài viết này có bạn (vỹ spirit bên thuthuatios) đã làm được rồi bạn thử liên hệ với bạn ấy xem sao.
Hello bác, lâu ngày quá ! Hôm nay em tìm thấy blog bác trên Google là nhờ bài viết này đấy ! Thủ thuật này em dùng cũng nhiều code, nhiều bài viết hướng dẫn lắm mà không được. Cuối cùng mò nát nó cũng ra :v
Mình không thích code lắm nên cũng chả tìm hiểu với chỉnh sửa theme nhiều như các bạn. Blog này của mình bây giờ thì có thể tự chạy goole traffic cũng ổn rồi nên bây giờ mình tâp trung vào blog khác
Lúc trước Thịnh dùng cái wp-discuz, giờ thêm tính năng này là bắt buộc phải chuyển về default wordpress comment hả Thịnh. Có thể vẫn dùng wp-discuz mà vẫn đếm được comment không Thịnh ha? Cám ơn Thịnh.
Mình nghĩ là được nhưng sửa code sẽ phức tạp hơn. Cá nhân mình thấy wp discuz đem lại trải nghiệm người dùng ở blog của mình không tốt lắm. Nên mình chuyển về default cho đơn giản. Nhiều lúc đơn giản lại đem đến sức mạnh.
Được bạn nhé, bạn sửa trong file /wpdiscuz/templates/comment/class.WpdiscuzWalker.php
Như site mình là 1 ví dụ nè 😀 hihi
Thịnh viết luôn bài hướng dẫn thêm mấy cái label ở bên cạnh nick đi (ví dụ như: admin, editor,….)
Mình thấy bên canhme có cái này, nhưng mình là lập trình viên java nên php có chút hơi đuối, hiện mình chỉ là solo blogger nên đành tạm gác tính năng này 🙂