# AAWEB Product Image Hover Swap for Woocommerce

AAWEB Product Image Hover Swap for Woocommerce adds a second-image hover swap effect to WooCommerce product cards, Elementor product grids, ShopEngine product lists and WooCommerce block-based catalogs.

## Requirement

This plugin requires WooCommerce.

## Features

- WooCommerce product loop support
- Elementor product grid support
- ShopEngine product list support
- WooCommerce Blocks support
- AJAX DOM fallback
- MutationObserver support
- Desktop-only mode
- Mobile-safe behavior
- Translation-ready strings
- Clean uninstall cleanup

## Author

AAWEB — Apostolou Antonios  
https://antoapweb.gr

## License

GPLv2 or later.

## Changelog

### 1.3.12
- Store hover URLs as inert HTML data attributes instead of printing a second image.
- Load the second image only on a real desktop hover; touch devices create no secondary image.
- Remove page-load AJAX scans; keep hover-only AJAX fallback for custom grids without server metadata.
- Deduplicate concurrent fallback requests, cache missing images and limit fallback concurrency to two.
- Preserve selectors, image size, gallery index, AJAX grid support and HPOS compatibility.

### 1.3.11
- Declared compatibility with WooCommerce High-Performance Order Storage (HPOS).
- Updated compatibility metadata for WordPress 7.1 and WooCommerce 11.1.
- No changes to hover-swap frontend behavior from version 1.3.10.

### 1.3.10
- Prevented AJAX second-image requests on touch devices that cannot display the hover effect.
- Kept image wrapping active on mobile to preserve layout compatibility and avoid duplicate inline images.

### 1.3.9
- Simplified settings screen with General and Advanced sections.
- Removed legacy Wrap only image and Desktop only options from the admin UI.
- Internalized technical AJAX, hook, observer, cache, timeout and concurrency behavior.
- Fixed brief raw display of the secondary image before JavaScript initialization.
- Cleaned frontend initialization to use one stable image-wrapper flow.

### 1.3.8
- Changed default hover image size to Medium Large.
- Added selectable hover image sizes in plugin settings.
- Improved hover image sharpness on WooCommerce product grids.

### 1.3.7
- Added safer fallback handling for default settings.
- Added Reset to Defaults support.
- Improved settings descriptions for easier configuration.

### 1.3.6
- Fixed Desktop-only mode so AJAX image loading still runs on mobile and touch devices.
- Prevented normal AJAX fallback misses from generating 404 console noise.

### 1.3.4
- Added ShopEngine product list selectors to the default compatibility layer.
- Updated documentation to mention ShopEngine compatibility.

### 1.3.3
- Added stable fallback CSS for default WooCommerce shop and product category loops.
- Improved hover reliability when custom selector output is overridden by the theme.

### 1.3.2
- Added explicit WooCommerce dependency header.
- Added activation protection when WooCommerce is not active.
- Added admin notice if WooCommerce becomes inactive after activation.
- Prevented frontend assets from loading without WooCommerce.

### 1.3.0
- Rebuilt with AAWEB branding.
- Added nonce-protected AJAX fallback.
- Added WordPress enqueue-based inline CSS and JS.
- Added translation-ready admin strings.
- Added uninstall cleanup.
- Added Elementor, WooCommerce block and AJAX refreshed grid support.
- Added mobile-safe desktop-only behavior.
