Thứ Năm, 9 tháng 4, 2020

Đếm lượt xem bài viết không cần Plugin

Đếm lượt xem bài viết không cần Plugin

Để hiển thị số lượt xem bài viết trong wordpress bạn chỉ cần chèn đoạn code theo mã sau:

Cách đếm và hiển thị số lượt xem bài viết

Để đếm và hiển thị số lượt xem bài viết thì các bạn lần lượt chèn đoạn code sau vào các file tương ứng như mình hướng dẫn, ở đây mình sẽ thực hiện trên theme Smartline để các bạn tham khảo.

B1: Chèn code đếm lượt xem vào cuối file function.php của theme đang sử dụng:

//CODE LAY LUOT XEM
function getPostViews($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 "01 lượt xem";
    }
    return $count.' lượt xem';
}
 
// CODE DEM LUOT XEM
function setPostViews($postID) {
    $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++;
        update_post_meta($postID, $count_key, $count);
    }
}
  
//CODE HIEN THI SO LUOT XEM BAI VIET TRONG DASHBOARDH
add_filter('manage_posts_columns', 'posts_column_views');
add_action('manage_posts_custom_column', 'posts_custom_column_views',5,2);
function posts_column_views($defaults){
    $defaults['post_views'] = __('Views');
    return $defaults;
}
function posts_custom_column_views($column_name, $id){
    if($column_name === 'post_views'){
        echo getPostViews(get_the_ID());
    }
}
?>

B2: Các bạn dán đoạn dưới đây vào trong file single.php như hình bên dưới

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

Vị trí chèn:  các bạn mở file single.php ra và chèn nó gần ở mấy dòng code đầu luôn, cụ thể là chèn nó bên dưới đoạn:

<div id="wrap" class="clearfix">

Sau khi xong nó sẽ như thế này:

Code lay luot xem sau khi duoc chen trong file single.php

Code lấy lượt xem sau khi được chèn trong file single.php

B3: Chèn đoạn code sau vào vị trí bạn muốn nó hiển thị, ở đây mình sẽ cho nó hiển thị chỗ thông tin bài viết (post info). Các bạn mở file template-tags.php (wp-content/themes/smartline-lite/inc/template-tags.php)và tìm đến đoạn Display Comments.

Ngay bên dưới nó các bạn chèn đoạn code sau vào vị trí như hình mình đã làm sẵn:

<span class="luot-xem">
<?php echo getPostViews(get_the_ID()); ?> </span>

Vị trí chèn:

Chen code hien thi so luot xem trong post info

Chèn code hiển thị số lượt xem trong post info

B4: Thêm CSS cho cái hiển thị lượt xem. Bạn nào biết CSS thì chèn nó vào trong file Style.css còn nếu không thì cứ vào phần Additional CSS và dán đoạn code sau đây xuống dưới cùng nhé !

.luot-xem:before {
    content: '\f403';
	margin-right: 3px;
}
span.luot-xem {
    color: #0000ac;
}

Sau khi làm xong thì các bạn sẽ được kết quả như cái hình ở đầu bài viết ấy, lưu ý là số lượt xem bài viết nó sẽ được đếm kể từ lúc các bạn thực hiện theo hướng dẫn này. Trước đó nếu có triệu view nó cũng không có đếm đâu.

Đồng thời trong trang quản lý bài viết các bạn cũng có thêm trường thông tin về số lượt xem bài viết nữa. Trong đoạn code đầu tiên mình có ghi chú là code để hiển thị số lượt xem trong Dashboard, bạn nào không cần thì xóa đoạn đó đi là được.

Như vậy là chúng ta vừa thực hiện xong việc đếm và hiển thị số lượt xem trên WordPress mà không dùng plugin rồi đấy. Cũng không quá phức tạp nhỉ ? Và nếu bạn nào xem xong mà chưa làm được hoặc có chỗ nào thắc mắc / góp ý thì cứ để lại bình luận bên dưới nhé !

Đăng bợi:

0 nhận xét: