Bạn muốn làm chủ Website?

Đếm số bình luận người dùng và cách phân biệt theo User ID trong WordPress

Hướng dẫn cách đếm số bình luận người dùng và cách phân biệt theo User ID trong WordPress.

phan biet theo user id

Chào các bạn,

Hiện nay nhận thấy có khá nhiều bạn quan tâm  tới việc hiển thị số bình luận đã xuất bản của người dùng sau tên Comment. Vì vậy, hôm nay ToiCode.Com xin được chia sẻ tới các bạn cách thực hiện đếm số bình luận của người dùng trên WordPress.

Cách đếm số bình luận

Đầu tiên, chúng ta sẽ cùng nhau thêm số bình luận vào sau tên của người dùng đã nhé. Trước tiên, các bạn hãy mở file functions.php ra và thêm đoạn code sau vào cuối file.

function toicode_count_user_comments() {
    global $wpdb;
    $count = $wpdb->get_var(
        'SELECT COUNT(comment_ID) FROM ' . $wpdb->comments. ' 
        WHERE comment_author_email = "' . get_comment_author_email() . '" 
        AND comment_approved = "1" 
        AND comment_type IN ("comment", "")'
    );
    echo $count . ' Bình luận';
}

Tiếp đến, các bạn hãy chèn đoạn code dưới đây vào sau phần code hiển thị tên người dùng trong Theme của bạn.

<?php toicode_count_user_comments(); ?>

Như vậy là xong rồi đấy. Lưu lại và ra xem kết quả thôi nào.

Cách phân biệt theo User ID

Mặc dù các bạn có thể tìm thấy khá nhiều các bài viết chia sẻ cách đếm số bình luận người dùng trong WordPress. Nhưng chắc bạn sẽ không tìm thấy hoặc rất ít bài viết nói về cách phân biệt Admin, thành viên và bạn đọc.

Do đó, Shin cũng xin được chia sẻ luôn tới các bạn các cách như sau nhé 🙂

Như chúng ta đã biết, khi đăng ký thì mỗi thành viên sẽ được gắn với một ID riêng và Admin thì ID sẽ là 1. Từ điểm này, chúng ta sẽ phân biệt được Admin, từng thành viên riêng và độc giả trên Blog của mình.

Cách thực hiện đơn giản như sau, các bạn chỉ cần sửa đoạn code cũ trong file functions.php thành đoạn code mới này là được.

function toicode_count_user_comments() {
    global $wpdb;
    global $comment;
    $count = $wpdb->get_var(
        'SELECT COUNT(comment_ID) FROM ' . $wpdb->comments. ' 
        WHERE comment_author_email = "' . get_comment_author_email() . '" 
        AND comment_approved = "1" 
        AND comment_type IN ("comment", "")'
    );
    $userId = $comment->user_id; 
    if ($userId == 1) {
        echo '<span class="admin">Admin</span>';
    } else if ($userId == XXX) {
        echo '<span class="memberxxx">Thành viên XXX</span>';
    } else {
        echo '<span class="bandoc">'.$count.' Bình luận</span>';
    }
}

Trong đó:

  • XXXID của thành viên mà bạn muốn phân biệt.
  • Các từ AdminThành viên XXX, Bình luận bạn có thể thay thành những từ khác mà bạn thích.

Nếu như các bạn muốn phân biệt nhiều thành viên hơn nữa thì chỉ việc nhân bản dòng code dưới đây lên và sửa lại thông tin thôi nhé 🙂

} else if ($userId == XXX) {
    echo '<span class="memberxxx">Thành viên XXX</span>';

Tổng kết

Rất đơn giản phải không ạ. Hi vọng bài viết này sẽ có ích đối với bạn. Trong bài viết tới, mình sẽ hướng dẫn các bạn cách tạo level cho thành viên dựa vào số Comment đã xuất bản. Nhớ đăng ký theo dõi Blog để không bỏ lỡ nhé 🙂

Nếu bạn thấy bài viết hữu ích thì hãy chia sẻ nó hoặc theo dõi chúng tôi qua Email để không bỏ lỡ bất kỳ một thủ thuật hay nào nhé! Đừng quên để lại đánh giá của bạn, nó là nguồn động lực vô bờ bến với chúng tôi đấy!

Add Comment

  • Không sử dụng từ khóa trong tên.
  • Không sử dụng từ ngữ phảm cảm.
  • Không dẫn link tới các trang có nội dung không lành mạnh.
  • Không bình luận về chính trị.
  • Mọi bình luận sẽ bị xóa nếu vi phạm mà không báo trước.
  • 11 Comments

    1. 16

      Chấm cái, mai làm thử cho cái con blog xem thế nào :v

      28/07/2017 Reply
      • Admin
        Shin:

        Bình luận nhanh dữ @@

        28/07/2017 Reply
    2. 3
      ducn:

      Hôm nào thử áp dụng mới được, thanks

      28/07/2017 Reply
      • Admin
        Shin:

        Ngay và luôn thôi bạn 🙂 Để lâu hết HOT 😀

        28/07/2017 Reply
    3. 5
      16
      soju:

      cuối cùng thì bài viết này cũng xuất hiện. triệu like cho Shin (y)

      04/08/2017 Reply
      • Admin
        Shin:

        Tại thấy nhiều bác chật vật quá nên cũng phải viết thôi 😀

        05/08/2017 Reply
        • 5
          Soju:

          cái này tùy biến thêm nếu số comment lớn hơn 100 chẳng hạn thì thay thành chẳng hạn, mục đích để đổi màu cái khung số comment thì phải tùy biến vào code thế nào hả a. e mù code nhìn có vẻ như if ($count == 100) { . e thêm thử mà toàn lỗi trang hic 🙁

          22/08/2017 Reply
          • Admin
            Shin:

            Có thể dùng cái này:

            if ($count >= 100) {
                $bienclass = 'class100';
            } else if ($count >= 200) {
                $bienclass = 'class200';
            } else if ($count >= 300) {
                $bienclass = 'class300';
            } else {
                $bienclass = '';
            }
            

            Thêm đoạn code trên vào dưới dòng $userId = $comment->user_id;
            Tiếp đến sửa cái <span class="xxx"> thành:

            <span class="xxx ' . $bienclass . '">
            

            22/08/2017 Reply
            • 5
              Soju:

              a Shin ơi, code a quá ngon lành luôn <3 không biết a có tùy biến thêm được đoạn code đếm ngày kể từ bình luận đầu tiên trên blog theo email không ạ. Ví dụ e muốn gọi ra các email đã comment vào blog được tròn 30 ngày kể từ comment đầu tiên thì gán cho nó 1 giá trị ấy ạ 😛 😛

              14/09/2017 Reply
    4. 2

      Sao mình k cho hiển thị số bình luận của tác giả ở bài viết như của bạn dc nhỉ. Chỗ tác giả đó bạn

      05/09/2017 Reply
      • Admin
        Shin:

        Không biết bạn đang dùng Theme nào nhỉ

        13/09/2017 Reply

    Nhận bài viết mới