add_action( 'woocommerce_before_shop_loop_item_title', 'add_on_hover_shop_loop_image' ) ; 

function add_on_hover_shop_loop_image() {

    $image_id = wc_get_product()->get_gallery_image_ids()[1] ; 

    if ( $image_id ) {

        echo wp_get_attachment_image( $image_id ) ;

    } else {  //assuming not all products have galleries set

        echo wp_get_attachment_image( wc_get_product()->get_image_id() ) ; 

    }

}
/* CUSTOM ON-HOVER IMAGE */
.woocommerce ul.products li.product a img { 
    /* FORMAT ALL IMAGES TO FILL EQUIVALENT SPACE,
    to remove jitter on replacement */
    height: 150px;
    width: 150px;
    object-fit: cover;
    padding: 0;
    margin: 0 auto;
}
.woocommerce ul.products li.product a img:nth-of-type(2) {
    display: none;
}
.woocommerce ul.products li.product a:hover img:nth-of-type(2) {
    display: block
}
.woocommerce ul.products li.product a:hover img:nth-of-type(1) {
    display: none;
}

 

Bài viết liên quan

post-no-image

Trang website có nhiều hiệu ứng hay đẹp tham khảo

post-no-image

Chia nhỏ task cron tự động

post-no-image

Sửa lỗi phân trang khi custom query trong WP Query

post-no-image

Hàm preg_replace_callback() là gì? và ứng dụng trong WordPress

post-no-image

Hướng dẫn chuyển ảnh về định dạng Webp hay AVIF

post-no-image

Xử lý change status order Woocommerce khi refund từ Paypal