• fans
  • 1036 reader
  • followers
[WP Tip] – Post Views counter
  • Tutorial Details
  • Độ khó: Căn bản
  • Thời gian: 15 phút
  • Yêu cầu: Căn bản PHP, Wordpress

Đếm xem số lượt người đã xem qua bài viết của mình trên WP xem tưởng như là một việc đơn giản, nhưng mà lại cũng khá khó khăn với một số bạn.

Việc đếm số người xem bài viết thì các bạn có thể sử dụng plug-in WP-Postviews, tuy nhiên, mình đã thử mọi cách tuy nhiên nó không hoạt động, nó cứ hiển thị 0 Views.

Và mình đã tìm ra một cách khác để đếm số lượt xem bài viết mà không cần dùng bất kì plug-in nào cả, các bạn có thể làm theo các bước phía dưới là được.

Đầu tiên, bạn mở file functions.php ra và thêm vào đoạn code sau.

function getPostViews($postID){ // hàm này dùng để lấy số người đã xem qua bài viết
    $count_key = 'post_views_count';
    $count = get_post_meta($postID, $count_key, true);
    if($count==''){ // Nếu như lượt xem không có
        delete_post_meta($postID, $count_key);
        add_post_meta($postID, $count_key, '0');
        return "0"; // giá trị trả về bằng 0
    }
    return $count; // Trả về giá trị lượt xem
}
function setPostViews($postID) {// hàm này dùng để set và update số lượt người xem bài viết.
    $count_key = 'post_views_count';
    $count = get_post_meta($postID, $count_key, true);
    if($count==''){
        $count = 0;
        delete_post_meta($postID, $count_key);
        add_post_meta($postID, $count_key, '0');
    }else{
        $count++; // cộng đồn view
        update_post_meta($postID, $count_key, $count); // update count
    }
}

Sau khi đã có 2 hàm trên thì việc còn lại là chúng ta gọi 2 hàm đó để sử dụng thôi.
Trước tiên, để có được lượt view thì bạn cần để function setPostViews() trong file single.php và nó phải nằm trong vòng lập while.

<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
<?php setPostViews(get_the_ID()); ?> <!-- set và update lại lượt views-->
<?php the_title(); ?> <!-- Title bài viết -->
<?php the_content(); ?> <!--/ Nội dung bài viết-->
<?php endwhile; endif; ?>

Còn hàm getPostViews() thì chúng ta có thể để nó ở mọi nơi như index.php, category.php, single.php… để nó hiển thị số lượt xem bài viết, và tất nhiên là nó phải nằm trong vòng while.

<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
Lượt xem: <?php getPostViews(get_the_ID()); ?> lượt <!-- lấy thông tin lược views-->
<?php the_title(); ?> <!-- Title bài viết-->
<?php the_content(); ?> <!-- Nội dung bài viết-->
<?php endwhile; endif; ?>

Vậy là với vài thao tác đơn giản, chúng ta có thể tạo ra được 1 ứng dụng nho nhỏ cho WP, và tất nhiên là không cần phải dùng plug-in nào hết. Chúc các bạn vui vẻ với bài viết.

Võ Minh Mẫn Website facebook twitter user_email

Nghề chính là chém gió, quăng bom và ném lựu đạn. Nghề phụ là cắt cỏ, chém chuối, cưa cây......

  • Nam

    Cho mik hỏi làm sao để thêm giấu phẩy khi số 2,979 như hình đấy mặc định là 2979 ko có dấu phẩy khi đến nghìn thanks

    • Nam

      dùng number_format trong PHP nhé bạn

      • Nam

        Bạn có thể cho mik đoạn code dc ko tại mik cũng gà khoản này lắm thanks

        • Nam

          Đã làm dc

Newbie

Các series nên xem trên izwebz cho newbie

Khi vào izwebz chắc nhiều bạn cho rằng các bài viết trên izwebz đều không có hệ thống gì cả? Thực chất, các bài biết đều đi theo một series của riêng nó, ví dụ như PHP, HTML & CSS, PSD2HTML, Photoshop, illustrator,… Trong bài viết này, mình sẽ tổng hợp lại các series bài viết cần thiết cho một newbie.

Izwebz facebook group

Social connect

Recent Comments

Archives