Lấy lượt xem get Views Count trong Product woocommerce Wordpress

Thảo luận trong 'Mã nguồn mở Wordpress' bắt đầu bởi seolagi, 30/5/22.

  1. seolagi
    Tham gia ngày:
    16/4/14
    Bài viết:
    1,048
    Đã được thích:
    82
    Điểm thành tích:
    48
    Demo tạo Lấy lượt xem get Views Count trong woocommerce Wordpress như sau:

    tao-luot-xem-tren-woocomerace-wordpress.jpg
    Để tạo được lượt xem trong sản phẩm Product woocommerce bạn làm như sau:

    Cách 1: Tạo lượt xem dạng auto mặc định 1 lấy ấn F5 hay truy cập vào lượt xem tự động tăng

    Bước 1: trước tiên tạo biến đêm tăng và + số lượng xem mỗi khi có khách hàng truy cập vào như sau: vào function.php của themes add code sau vào:
    PHP:
    add_action('wp', 'product_view_counter');
    function 
    product_view_counter() {
         global 
    $post;
         if ( 
    is_product() ){
             
    $meta = get_post_meta( $post->ID, '_total_views_count', TRUE );
             
    $meta = ($meta) ? $meta + 1 : 1;
             
    update_post_meta( $post->ID, '_total_views_count', $meta );
         }
    }
    Hiển thị lượt xem này ra ngoài trang chi tiết sản phẩm sử dụng code sau:
    PHP:
    add_action( 'woocommerce_before_add_to_cart_button', 'show_product_view_counter_on_product_page', 10);
    function 
    show_product_view_counter_on_product_page() {
        global 
    $product;
        
    $id = $product->id;         
        
    $meta = get_post_meta( $id, '_total_views_count', true);
        if(!
    $meta) {
            
    $count = 0;
        } else {       
            
    $count = $meta;
        }       
        echo 
    '<div class="custom-visitor-count"><i class="fa fa-eye"></i><span class="counter-value">'.$count.' Views</span></div>';
    }
    Hiển thị lượt xem ra ngoài trang danh sách sản phẩm, product category thì add code sau:
    PHP:
    add_action( 'woocommerce_after_shop_loop_item', 'show_product_view_counter_on_shop_page', 10);
    function 
    show_product_view_counter_on_shop_page() {
        global 
    $product;
        
    $id = $product->id;         
        
    $meta = get_post_meta( $id, '_total_views_count', true);
        if(!
    $meta) {
            
    $count = 0;
        } else {       
            
    $count = $meta;
        }       
        echo 
    '<div class="custom-visitor-count"><i class="fa fa-eye"></i><span class="counter-value">'.$count.' Views</span></div>';
    }
    Cách 2: Tạo lượt xem dạng bắt theo IP, mỗi IP chỉ tăng được 1 lượt xem

    Bước 1: trước tiên tạo biến đêm tăng và + số lượng xem mỗi khi có khách hàng truy cập vào như sau: vào function.php của themes add code sau vào:
    PHP:
    add_action('wp', 'product_view_counter');
    function 
    product_view_counter() {
         global 
    $post;
         
    $userip = $_SERVER['REMOTE_ADDR'];
         if ( 
    is_product() ){
             
    $meta = get_post_meta( $post->ID, '_total_views_count', TRUE );
             
    $meta = (!$meta) ? array() : explode( ',', $meta );   
             
    $meta = array_filter( array_unique( $meta ) );
             if( ! 
    in_array( $userip, $meta ) ) {
                   
    array_push( $meta, $userip );
                   
    update_post_meta( $post->ID, '_total_views_count', implode(',', $meta) );
             }
         }
    }
    Hiển thị lượt xem ra ngoài trang chi tiết sản phẩm (product single, product detail)
    PHP:
    add_action( 'woocommerce_before_add_to_cart_button', 'show_product_view_counter_on_product_page', 10);
    function 
    show_product_view_counter_on_product_page() {
        global 
    $product;
        
    $id = $product->id;         
        
    $meta = get_post_meta( $id, '_total_views_count', true);
        if(!
    $meta) {
            
    $count = 0;
        } else {       
            
    $count = count(explode(',',$meta));
        }       
        echo 
    '<div class="custom-visitor-count"><i class="fa fa-eye"></i><span class="counter-value">'.$count.' Views</span></div>';
    }
    Hiển thị lượt xem ra trang danh sách sản (product category) phẩm dùng code sau:
    PHP:
    add_action( 'woocommerce_after_shop_loop_item', 'show_product_view_counter_on_product_page', 10);
    function 
    show_product_view_counter_on_product_page() {
        global 
    $product;
        
    $id = $product->id;         
        
    $meta = get_post_meta( $id, '_total_views_count', true);
        if(!
    $meta) {
            
    $count = 0;
        } else {       
            
    $count = count(explode(',',$meta));
        }       
        echo 
    '<div class="custom-visitor-count"><i class="fa fa-eye"></i><span class="counter-value">'.$count.' Views</span></div>';
    }
     
    Cảm ơn đã xem bài:

    Lấy lượt xem get Views Count trong Product woocommerce Wordpress

  2. admin
    Tham gia ngày:
    22/5/13
    Bài viết:
    5,047
    Đã được thích:
    1,227
    Điểm thành tích:
    113
    Giới tính:
    Nam
    Bổ sung: nếu muốn thêm lượt đếm cho tin tức thì sử dụng code sau
    PHP:
    add_action('wp', 'product_post_view_counter');
    function 
    product_post_view_counter() {
      global 
    $post;
      if ( 
    is_product() ){
        
    $countmeta = get_post_meta( $post->ID, 'product_views_count', TRUE );
        
    $countpro = ($countmeta) ? $countmeta + 1 : 1;
        
    update_post_meta( $post->ID, 'product_views_count', $countpro );
      }else if(
    is_single()){
        
    $countmeta = (int) get_post_meta( $post->ID, 'post_views_count', true );
        
    $countpost = ($countmeta) ? $countmeta + 1 : 1;
        
    update_post_meta( $post->ID, 'post_views_count', $countpost );
      }
    }
     
    Chỉnh sửa cuối: 2/6/22