Cách đếm lượt xem bài viết trong WordPress không dùng Plugin

[Thủ thuật WordPress] Hướng dẫn cách đếm lượt xem bài viết trong WordPress không dùng Plugin – Bạn là một người quản trị trang Web bạn muốn theo dõi những bài viết của mình hay là bạn muốn biết website của mình có ai vào tương tác hay không? Cách đơn giản nhất là bạn hãy tích hợp tính năng kiểm tra số lượt xem bài viết như vậy bạn sẽ dễ dàng biết được số lượt xem trên mỗi bài viết đồng thời từ đó độc giả cũng xác định được chất lượng của bài viết nhờ vào lượt xem và họ sẽ cảm thấy an tâm hơn khi số lượt xem bài viết cao.

Trong bài viết trước đây về thủ thuật WordPress mình có hướng dẫn các bạn cách tích hợp form hỗ trợ trực tuyến miễn phí vào WordPress giúp bạn có thể tạo Form hỗ trợ trực tuyến miễn phí trong WordPress đơn giản nhất, tiếp tục trong bài viết này mình sẽ hướng dẫn các bạn cách đếm lượt xem bài viết trong WordPress không dùng Plugin đơn giản nhất.

Đếm lượt xem bài viết trong WordPress không dùng Plugin

WordPress cũng có nhiều Plugin giúp bạn làm được điều này, nhưng khi bạn dùng plugin quá nhiều sẽ là không tốt lắm nhưng có 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ả. Hãy cùng blog thủ thuật tìm hiểu cách đếm lượt xem bài viết trong WordPress không dùng Plugin.

Đầu tiên hãy truy cập vào tập tin Functions.php của giao diện đang sử dụng ( tham khảo bài viết sửa giao diện, plugin WordPress không cần FTP để biết cách xác định các tập tin hoặc bạn có thể đăng nhập trực tiếp vào tài khoản hosting để tiện cho việc chỉnh sửa). Sau đó hãy Copy đoạn code bên dưới và dán vào trước thẻ đóng ?> của tập tin Functions.php.

function subh_get_post_view( $postID ) { $count_key = 'post_views_count'; $count = get_post_meta( $postID, $count_key, true ); if ( $count == '' ) { delete_post_meta( $postID, $count_key ); add_post_meta( $postID, $count_key, '0' ); return '0 lượt xem'; } return $count . ' lượt xem'; } function subh_set_post_view( $postID ) { $count_key = 'post_views_count'; $count = (int) get_post_meta( $postID, $count_key, true ); if ( $count < 1 ) { delete_post_meta( $postID, $count_key ); add_post_meta( $postID, $count_key, '0' ); } else { $count++; update_post_meta( $postID, $count_key, (string) $count ); } } function subh_posts_column_views( $defaults ) { $defaults['post_views'] = __( 'views' ); return $defaults; } function subh_posts_custom_column_views( $column_name, $id ) { if ( $column_name === 'post_views' ) { echo subh_get_post_view( get_the_ID() ); } } add_filter( 'manage_posts_columns', 'subh_posts_column_views' ); add_action( 'manage_posts_custom_column', 'subh_posts_custom_column_views', 5, 2 );

Hiển thị lượt xem bài viết

Tiếp tục sau đó để có được lượt view bạn hãy sao chép đoạn code bên dưới và dán vào file Single.php nằm trong vòng lập while.

<?php subh_set_post_view( get_the_ID() ); ?>

Tiếp theo, bạn hãy sao chép đoạn code sau và dán vào tại nơi mà bạn muốn hiện số lượt xem là được (mỗi giao diện sẽ có cách hiển thị khác nhau tuy nhiên bạn có thể dán trực tiếp vào file Single.php).

<?php echo subh_get_post_view(get_the_ID()); ?>

Sau khi thực hiện xong ra ngoài trang chủ kích chọn một bài viết nào đó bạn sẽ thấy số lượt xem bài viết như bên dưới.

dem-luot-xem-bai-viet 1

Cuối cùng không có gì hơn nếu bạn cảm thấy bài viết có ích hãy subscribe blog  của mình thường xuyên để cập nhật những bài viết mới nhất qua Email – Chân thành cảm ơn!

Bài viết có ích cho bạn?

Average rating / 5. Vote count:

20 bình luận về “Cách đếm lượt xem bài viết trong WordPress không dùng Plugin”

  1. A ơi cho em hỏi trường hợp mình chưa nhấp vào một bài viết nào đó! mà mình nhấp vào Popular post(lượt view nhiều nhất) chẳng hạn thì cái biến ‘post_views_count’ lúc này ở các bài viết chưa được tạo thì sẽ không có bài viết nào xuất hiện ở Tabs Popular post ak anh! có cách nào khi mình load trang chủ lên nhấp vào popular post là nó sẽ select các bài chưa có lượt view lun k anh! em cảm ơn nhiều ak

    Trả lời
    • Vì nó là post_views_count nên bắt buộc phải có lượt xem thì nó mới xuất hiện chứ bạn! Nếu muốn hiển thị kiểu đó thì chỉ có hiển thị các bài viết theo ngày tháng hoặc theo chuyên mục….

      Trả lời
      • Không có cách nào để hiển thị khi chưa nhấp vào page single ak anh! e muốn nó tạo cái biến post_views_count có lượt view = 0 cho tất cả các bài viết trước khi nhấp vào page single! đc không ak

        Mình nhấp vào Popular post(lượt view nhiều nhất) những bài nào 0 view nó cũng hiện thị lun ấy :((((((((

        Em cảm ơn anh nhiều! Biết chỉ giáo em với 🙁

        Trả lời
        • Không cmt đc hình ảnh ak anh 🙁

          E có tabs như này ở trang chủ:

          Default | Popular | Newest

          lúc mình code đếm lượt view là biến ‘post_views_count’ chưa đc tạo ở bài viết nào đúng k ak!
          khi mình nhấp xem vào 1 bài viết nào nó mới tạo biến cho từ bài mình nhấp xem!

          Nhưng ở đây, e chưa nhấp xem vào bài nào hết mà nhấp thẳng vào tabs Popular(lượt view nhiều nhất) lúc này biến post_views_count của từng bài chưa đc tạo(do em chưa nhấp vào bài viết) nên khi trong Popular chưa có bài viết nào hix

        • Ak anh đã hiểu như anh đã nói là phải có lượt xem thì nó mới hiển thị ở tab này chứ còn muốn xuất hiện chỉ có cách can thiệp vào Code bằng cách cho nó bằng mã khác không phải là post_views_count 😛

        • Anh nói rõ hơn đc không anh! A chỉ e với! E học wordpress mà nhiều thứ chưa biết quá :(((((((
          Em cảm ơn anh!!!

        • Tức là bạn dùng Widget tab phải không cái đó nó được viết sẵn để hiển thị những bài viết có lượt xem nếu muốn chỉnh lại mình phải can thiệp vô code nhưng mà khi chỉnh sửa lại thì nó không còn là Post View nữa mà là một tính năng khác 😛

  2. Anh ơi em muốn nó hiển thị số lượt truy cập vào trang web, e muốn nó hiển thị ra ngoài trang chủ mà cụ thể là phần footer thì code này có dùng được không ạ?

    Em cám ơn ạ

    Trả lời
  3. Bạn có thể giải thích rõ hơn đoạn này ko “Tiếp tục sau đó để có được lượt view bạn hãy sao chép đoạn code bên dưới và dán vào file Single.php nằm trong vòng lập while.” cái này mình làm ko biết đã đúng chưa. Mình dán vào trước đoạn

    Trả lời

Viết một bình luận