Code lượt xem bài viết WordPress mà không dùng plugin

Wordpress 18 Tháng Ba, 2021 48 lượt xem

Bạn đang tìm cách theo dõi lượt xem bài đăng mà không cần plugin sử dụng meta bài đăng? Mặc dù có thể có một plugin cho việc này, nhưng chúng tôi đã tạo một đoạn mã nhanh mà bạn có thể sử dụng để theo dõi lượt xem bài đăng mà không cần plugin sử dụng meta bài đăng trong WordPress.

Hướng dẫn :

Thêm mã này vào tệp functions.php của chủ đề của bạn.

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 "0 View";
    }
    return $count.' Views';
}
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);
    }
}
 
// Remove issues with prefetching adding extra views
remove_action( 'wp_head', 'adjacent_posts_rel_link_wp_head', 10, 0); 

Tùy chọn thêm mã này cũng như vào một cột trong quản trị viên WordPress hiển thị các lượt xem bài đăng:

// Add to a column in WP-Admin
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());
    }
}

Phần này của mã lượt xem theo dõi sẽ đặt lượt xem bài đăng. Chỉ cần đặt mã này bên dưới trong tệp single.php bên trong WordPress Loop.

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

Lưu ý về bộ đệm phân mảnh: Nếu bạn đang sử dụng một plugin bộ nhớ đệm như W3 Total Cache, phương pháp ở trên để đặt chế độ xem sẽ không hoạt động vì setPostViews()hàm sẽ không bao giờ chạy. Tuy nhiên, W3 Total Cache có một tính năng gọi là bộ nhớ đệm phân mảnh. Thay vì những điều trên, hãy sử dụng những thứ sau để setPostViews()nó chạy tốt và sẽ theo dõi tất cả các lượt xem bài đăng của bạn ngay cả khi bạn đã bật bộ nhớ đệm.

<!-- mfunc setPostViews(get_the_ID()); --><!-- /mfunc -->

Đoạn mã dưới đây là tùy chọn. Sử dụng mã này nếu bạn muốn hiển thị số lượt xem trong các bài đăng của mình. Đặt mã này trong Vòng lặp.

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

Hình ảnh sau cho thấy rằng mã hoạt động tốt trên máy chủ cục bộ của tôi:

b2ap3 thumbnail wp post view

Hy vọng bạn đã tìm thấy bài viết này hữu ích. Hãy cho chúng tôi biết ý kiến ​​hoặc thắc mắc của bạn nếu có thông qua phần bình luận bên dưới.

Nguồn: isitwp

Nhắn tin cho tôi
0969.378.702
CHÚNG TÔI

37 Digital cung cấp giải pháp quảng cáo, thiết kế website tối ưu cho cá nhân, doanh nghiệp vừa và nhỏ.


© 2021 All Rights Reserved.

KẾT NỐI