Làm thế nào để khách hàng xem website của các bạn trên trang cửa hàng có thể Hover hiển thị thông tin sản phẩm cụ thể hơn. Trong bài viết này chúng tôi sẽ hướng dẫn cụ thể để hiển thị thông tin ra khi khách hàng di chuột Hover Tooltip đẹp mắt

Hover hiển thị thông tin sản phẩm dạng Tooltip cho Woocommerce

Hover hiển thị thông tin sản phẩm dạng Tooltip cho Woocommerce - hover hien thi thong tin san pham
Hover hiển thị thông tin sản phẩm dạng Tooltip cho Woocommerce

Chúng tôi vẫn sử dụng hook được cung cấp bởi Woocommerce, hook này được viết vào file function.php của themes.

// Hiên thị thông tin sản phẩm từ woocommerce - Flatsome
add_action('woocommerce_after_shop_loop_item', 'display_front_ends');
function display_front_ends() {
    // Show on
    ?>
    <a class="wph_tooltip_box" href="<?php echo the_permalink(); ?>">
        <div class="wph_tooltip tooltip" >
            <strong class="wph_tooltip_title"><?php the_title();?></strong>
            <?php echo get_the_excerpt(); ?>
        </div>
    </a>
    <?php
}

Đầu tiên chúng có hook như sau.

Chúng tôi sử dụng woocommerce_after_shop_loop_item để đưa thông tin mổ tả sản phẩm ra trang của hàng và trang lưu trữ sản phẩm.
Code đầy đủ của chúng tôi như sau, và chúng tôi sẽ nói rõ hơn về code ở phía dưới.

Hàm the_title để lấy tên sản phẩm và get_the_excerpt để lấy mô tả ngắn sản phẩm ra ngoài.
Bây giờ hãy tiến hàng viết css và js để ẩn nó đi. Chỉ hiển thị khi khách hàng di chuột hover.

Tạo bảng trong mô tả ngắn

Đây là cách làm đơn giản dễ sử dụng nhất với cả người không biết code. Coppy code bên dưới bỏ nó vào tab Text trong soạn thảo mô tả ngắn. Bạn cần tính năng field textfield select .

<table><tbody>
<tr><td>Hãng Sản Xuất :</td><td>An Cường</td></tr>
<tr><td>Xuất Xứ :</td><td>Việt Nam</td></tr>
<tr><td>Mã Sản Phẩm :</td><td>AC 888</td></tr>
<tr><td>Kích Thước :</td><td>1200 x 980mm</td></tr>
<tr><td>Độ Dày :</td><td>12 mm</td></tr><tr>
<td>Hệ Số Mài Mòn Bề Mặt :</td><td>AC6</td></tr>
<tr><td>Bảo Hành :</td><td>5 Năm</td></tr>
</tbody></table>

Note : đó là ví dụ , bạn có thể dùng thể DIV hoặc Span để định dạng tốt hơn – Phải biết css chút 🙂

sau khi thêm xong bạn css là ok

.wph_tooltip_box {
    overflow: hidden;
    margin-bottom: 10px;
    position: absolute;
    top: 0;
    left: 0;
    height: 80%;
    width: 100%;
}
.wph_tooltip_box ul {
    list-style:none;
    padding:0px;
    margin: 5px 0;
    border-top: 1px solid #e5e5e5;
}
 
.wph_tooltip_box strong{
    display: block;
}
 
.wph_tooltip * {
    height:initial !important;
}
.wph_tooltip {
    display:none;
    position: fixed;
    z-index: 99;
    top: 0;
    left: 0;
    font-size: 11px;
    width: 250px;
    height: auto;
    padding: 5px;
    border-radius: 3px;
    box-shadow: 0 1px 2px #666;
    background: #fff;
    color: #000 !important;
}
 
.wph_tooltip_box ul li{
    margin:2px;
}
 
.wph_tooltip .wph_tooltip_title {
    background-color:red;
    color: #fff;
    margin: -5px;
    margin-bottom: 3px;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
    padding: 5px;
}
.wph_tooltip img{
    display:none!important;
}
 
/*hide on small screen / mobile*/
@media (max-width: 600px) {
    .wph_tooltip{
        display:none!important;
    }
}

thêm Java để hiện thị nhé

jQuery(document).ready(function($) {
   
    var $parent,
        windowWidth,
        windowHeight;
       
    //get actual window size
    function winSize() {
        windowWidth = $(window).width(),
            windowHeight = $(window).height();
    }
    winSize();
    $(window).resize(winSize);
    //tooltip fadeIn and fadeOut on hover  
    $('.tooltip').each(function() {
        
        $(this).parent().hover(function() {
          $(this).find('.tooltip').fadeIn('fast');
        }, function() {
           $(this).find('.tooltip').fadeOut('fast');
        });
      
    });
   
   
    //tooltip position
    $(document).mousemove(function(e) {
        var mouseY = e.clientY,
            mouseX = e.clientX,
            tooltipHeight,
            tooltipWidth;
         
        $('.tooltip').each(function() {
            var $tooltip = $(this);
            tooltipHeight = $tooltip.outerHeight();
            tooltipWidth = $tooltip.width();
            $parent = $tooltip.parent();
          
            $tooltip.css({
                'left':mouseX+0,
                'top':mouseY+20
            });
           
            //reposition
            if (tooltipWidth + mouseX+ 20> windowWidth) {
                $tooltip.css({
                    'left':mouseX-tooltipWidth-20
                });
            }
         
            if (tooltipHeight + mouseY +20 > windowHeight) {
                $tooltip.css({
                    'top':mouseY-20-tooltipHeight
                }); 
            }
        });
    });
});//end ready

Hãy đặt chúng vào hai file css và js riêng biệt và chúng cần được móc vào để hoạt động. Chúng tôi sử dụng hook như sau cho chủ đề con ( child themes ).

// Enqueue required fonts, scripts, and styles.
add_action( 'wp_enqueue_scripts', 'favorite_enqueue_scripts' );
function favorite_enqueue_scripts() {
 
    wp_enqueue_script( 'wph_mainjs', get_stylesheet_directory_uri() . '/assets/js/main.js' , 'jquery' , '' , true );
    wp_enqueue_style( 'wph_maincss', get_stylesheet_directory_uri() . '/assets/css/main.css' );
}

Xong rồi !

Như vậy là xong rồi đó các bạn giờ hãy thưởng thức thành quả và tận hưởng, có bất kỳ thắc mắc hay nhu cầu cao cấp hơn cho chức năng này hãy liên hệ với chúng tôi

Chúc các bạn thành công 🙂

Hello!

Tss247

Bạn có thể liên hệ với chúng tôi bằng bất cứ Kênh nào mà bạn có thể trao đổi với chúng tôi

VPĐD: 298 Ngọc Hồi, Thanh Trì, Hà Nội

info@tss247.vn

0866.696.247 - 089.339.247

Nhắn tin qua

Zalo của Tss247

Liên hệ với Tss247 qua Zalo

Gọi ngay Hotline

0866.696.247

Gọi ngay cho Tss247 theo Hotline 0866.696.247
Thông tin khách hàng

Dịch vụ thiết kế website

Dịch vụ Tối ưu Website

Dịch vụ Quản trị Website

Dịch vụ Viết bài chuẩn SEO

Dịch vụ Quảng cáo Google

Dịch vụ Quảng cáo Facebook

Dịch vụ Quảng cáo Zalo

Dịch vụ Quảng cáo Tiktok

Dịch vụ chăm sóc website

Dịch vụ chăm sóc Fanpage

Dịch vụ IT Support/ Helpdesk

Dịch vụ review Google

Dịch vụ Quản trị hệ thống

Dịch vụ Quản trị mạng

Dịch vụ tư vấn giải pháp CNTT

Giải pháp An ninh, camera