{"id":326997,"date":"2026-06-18T17:57:47","date_gmt":"2026-06-18T17:57:47","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/aaweb-universal-woo-hover-swap\/"},"modified":"2026-06-18T17:58:14","modified_gmt":"2026-06-18T17:58:14","slug":"aaweb-product-image-hover-swap-for-woocommerce","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/aaweb-product-image-hover-swap-for-woocommerce\/","author":23509619,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.3.6","stable_tag":"1.3.6","tested":"7.0","requires":"6.7","requires_php":"8.0","requires_plugins":null,"header_name":"AAWEB Product Image Hover Swap for WooCommerce","header_author":"AAWEB - Apostolou Antonios","header_description":"Adds a second-image hover swap effect to WooCommerce and product card loops, including Elementor, ShopEngine and block-based catalogs.","assets_banners_color":"253045","last_updated":"2026-06-18 17:58:14","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/antoapweb.gr\/aaweb-product-image-hover-swap-for-woocommerce\/","header_author_uri":"https:\/\/antoapweb.gr","rating":0,"author_block_rating":0,"active_installs":0,"downloads":45,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.3.6":{"tag":"1.3.6","author":"antoapweb","date":"2026-06-18 17:58:14"},"1.3.7":{"tag":"1.3.7","author":"antoapweb","date":"2026-06-18 19:37:20"}},"upgrade_notice":{"1.3.6":"<p>Recommended update for mobile\/touch compatibility with Desktop-only mode and cleaner AJAX fallback behavior.<\/p>","1.3.4":"<p>Recommended update for ShopEngine product list compatibility.<\/p>","1.3.3":"<p>Recommended update for improved default WooCommerce shop page hover reliability.<\/p>","1.3.0":"<p>Recommended update for improved compatibility, security and WordPress.org-ready structure.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3577632,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3577632,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3577632,"resolution":"1544x500","location":"assets","locale":"","width":1546,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3577632,"resolution":"772x250","location":"assets","locale":"","width":771,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.3.6","1.3.7"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3577632,"resolution":"1","location":"assets","locale":"","width":1540,"height":1021},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3577680,"resolution":"2","location":"assets","locale":"","width":1536,"height":1024},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3577632,"resolution":"3","location":"assets","locale":"","width":1536,"height":1024}},"screenshots":{"1":"Example product card hover swap effect.","2":"AAWEB Hover Swap settings screen.","3":"Example product catalog\/grid compatibility screen."}},"plugin_section":[],"plugin_tags":[76538,35106,18250,24716,286],"plugin_category":[45],"plugin_contributors":[266590],"plugin_business_model":[],"class_list":["post-326997","plugin","type-plugin","status-publish","hentry","plugin_tags-elementor","plugin_tags-hover-image","plugin_tags-product-gallery","plugin_tags-product-images","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-antoapweb","plugin_committers-antoapweb"],"banners":{"banner":"https:\/\/ps.w.org\/aaweb-product-image-hover-swap-for-woocommerce\/assets\/banner-772x250.png?rev=3577632","banner_2x":"https:\/\/ps.w.org\/aaweb-product-image-hover-swap-for-woocommerce\/assets\/banner-1544x500.png?rev=3577632","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/aaweb-product-image-hover-swap-for-woocommerce\/assets\/icon-128x128.png?rev=3577632","icon_2x":"https:\/\/ps.w.org\/aaweb-product-image-hover-swap-for-woocommerce\/assets\/icon-256x256.png?rev=3577632","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/aaweb-product-image-hover-swap-for-woocommerce\/assets\/screenshot-1.png?rev=3577632","caption":"Example product card hover swap effect."},{"src":"https:\/\/ps.w.org\/aaweb-product-image-hover-swap-for-woocommerce\/assets\/screenshot-2.png?rev=3577680","caption":"AAWEB Hover Swap settings screen."},{"src":"https:\/\/ps.w.org\/aaweb-product-image-hover-swap-for-woocommerce\/assets\/screenshot-3.png?rev=3577632","caption":"Example product catalog\/grid compatibility screen."}],"raw_content":"<!--section=description-->\n<p>AAWEB Product Image Hover Swap for WooCommerce displays a secondary product image when visitors hover over a product card.<\/p>\n\n<p>Requires WooCommerce. The plugin is designed for WooCommerce catalog pages, product category pages, Elementor product grids, ShopEngine product lists, WooCommerce blocks, AJAX refreshed product lists and compatible product card layouts.<\/p>\n\n<p>Main features:<\/p>\n\n<ul>\n<li>Automatic second gallery image detection.<\/li>\n<li>WooCommerce loop hook injection.<\/li>\n<li>AJAX DOM fallback for custom product cards.<\/li>\n<li>MutationObserver support for AJAX filters and refreshed grids.<\/li>\n<li>Desktop-only hover mode.<\/li>\n<li>Mobile-safe behavior to avoid duplicate inline images.<\/li>\n<li>Image-only wrapper to prevent hover images from covering titles, prices or labels.<\/li>\n<li>ShopEngine product list compatibility.<\/li>\n<li>Custom selectors for product cards, product links and images.<\/li>\n<li>Translation-ready strings.<\/li>\n<li>Clean uninstall option removal.<\/li>\n<\/ul>\n\n<p>Developed by AAWEB \u2014 Apostolou Antonios.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin folder to <code>\/wp-content\/plugins\/<\/code> or install the ZIP file from the WordPress admin area.<\/li>\n<li>Activate the plugin from the Plugins screen.<\/li>\n<li>Make sure WooCommerce is installed and active.<\/li>\n<li>Go to WooCommerce \u2192 AAWEB Hover Swap.<\/li>\n<li>Adjust selectors only if your theme or builder uses a custom product card structure.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20it%20work%20with%20elementor%3F\"><h3>Does it work with Elementor?<\/h3><\/dt>\n<dd><p>Yes. It supports common Elementor WooCommerce product widgets and can also work with custom layouts through the selector settings.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20shopengine%3F\"><h3>Does it work with ShopEngine?<\/h3><\/dt>\n<dd><p>Yes. It includes default selectors for ShopEngine product list cards.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20woocommerce%20blocks%3F\"><h3>Does it work with WooCommerce Blocks?<\/h3><\/dt>\n<dd><p>Yes. It includes selectors for common WooCommerce block product grids.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20ajax%20filters%20or%20infinite%20scroll%3F\"><h3>Does it work with AJAX filters or infinite scroll?<\/h3><\/dt>\n<dd><p>Yes. The DOM observer can detect refreshed product grids and apply the hover behavior again.<\/p><\/dd>\n<dt id=\"does%20it%20affect%20mobile%20layouts%3F\"><h3>Does it affect mobile layouts?<\/h3><\/dt>\n<dd><p>The default desktop-only mode prevents hover logic on touch devices and avoids duplicate second images on mobile.<\/p><\/dd>\n<dt id=\"where%20does%20the%20second%20image%20come%20from%3F\"><h3>Where does the second image come from?<\/h3><\/dt>\n<dd><p>The plugin uses the selected image from the WooCommerce product gallery. By default it uses the first gallery image.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.3.6<\/h4>\n\n<ul>\n<li>Fixed Desktop-only mode so AJAX image loading still runs on mobile and touch devices.<\/li>\n<li>Prevented normal AJAX fallback misses from generating 404 console noise.<\/li>\n<\/ul>\n\n<h4>1.3.4<\/h4>\n\n<ul>\n<li>Added ShopEngine product list selectors to the default compatibility layer.<\/li>\n<li>Updated documentation to mention ShopEngine compatibility.<\/li>\n<\/ul>\n\n<h4>1.3.3<\/h4>\n\n<ul>\n<li>Added stable fallback CSS for default WooCommerce shop and product category loops.<\/li>\n<li>Improved hover reliability when custom selector output is overridden by the theme.<\/li>\n<\/ul>\n\n<h4>1.3.2<\/h4>\n\n<ul>\n<li>Added explicit WooCommerce dependency header.<\/li>\n<li>Added activation protection when WooCommerce is not active.<\/li>\n<li>Added admin notice if WooCommerce becomes inactive after activation.<\/li>\n<li>Prevented frontend assets from loading without WooCommerce.<\/li>\n<\/ul>\n\n<h4>1.3.0<\/h4>\n\n<ul>\n<li>Rebuilt with AAWEB branding.<\/li>\n<li>Added nonce-protected AJAX fallback.<\/li>\n<li>Added WordPress enqueue-based inline CSS and JS.<\/li>\n<li>Added translation-ready admin strings.<\/li>\n<li>Added uninstall cleanup.<\/li>\n<li>Added Elementor, WooCommerce block and AJAX refreshed grid support.<\/li>\n<li>Added mobile-safe desktop-only behavior.<\/li>\n<\/ul>","raw_excerpt":"Swap WooCommerce product images on hover using the second gallery image.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/326997","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=326997"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/antoapweb"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=326997"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=326997"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=326997"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=326997"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=326997"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=326997"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}