{"id":364604,"date":"2026-09-18T20:54:18","date_gmt":"2026-09-18T20:54:18","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/smart-variation-swatches-for-woocommerce\/"},"modified":"2026-09-18T21:36:28","modified_gmt":"2026-09-18T21:36:28","slug":"sparkswipe-variation-swatches","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/sparkswipe-variation-swatches\/","author":23561348,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.1.4","stable_tag":"1.1.4","tested":"7.1.1","requires":"6.2","requires_php":"7.4","requires_plugins":null,"header_name":"SparkSwipe Variation Swatches for WooCommerce","header_author":"Hassen Dhaouadi","header_description":"Beautiful WooCommerce variation swatches in minutes \u2014 without coding. Color, label, and button swatches with a modern admin and a clean Pro upgrade path.","assets_banners_color":"e9d9cd","last_updated":"2026-09-18 21:36:28","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/wordpress.org\/plugins\/sparkswipe-variation-swatches\/","header_author_uri":"https:\/\/profiles.wordpress.org\/hassendhaouadi\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":66,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.1.3":{"tag":"1.1.3","author":"hassendhaouadi","date":"2026-09-18 20:54:00","revision":3702761},"1.1.4":{"tag":"1.1.4","author":"hassendhaouadi","date":"2026-09-18 21:36:28","revision":3702783}},"upgrade_notice":{"1.1.4":"<p>Directory assets update. No storefront behavior change.<\/p>","1.1.3":"<p>Uses a single unique PHP prefix (sparvasw \/ SPARVASW \/ SparkSwipeVariationSwatches). Existing settings and term colors migrate automatically.<\/p>","1.1.0":"<p>WordPress.org compliance update: new name\/slug, no locked features in Free, stronger REST permissions. Recommended.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.gif":{"filename":"icon-128x128.gif","revision":3702778,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.gif":{"filename":"icon-256x256.gif","revision":3702778,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3702778,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3702778,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.1.3","1.1.4"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3702778,"resolution":"1","location":"assets","locale":"","width":1500,"height":840},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3702778,"resolution":"2","location":"assets","locale":"","width":1500,"height":840},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3702778,"resolution":"3","location":"assets","locale":"","width":1500,"height":840},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3702778,"resolution":"4","location":"assets","locale":"","width":1500,"height":840},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3702778,"resolution":"5","location":"assets","locale":"","width":1500,"height":840}},"screenshots":{"1":"Color swatches on a product page","2":"Button \/ label size swatches","3":"Color and size swatches on the same product","4":"Out-of-stock variations crossed out","5":"Term-name tooltip on hover"}},"plugin_section":[],"plugin_tags":[130912,183755,276653,206658,152797],"plugin_category":[45],"plugin_contributors":[281530],"plugin_business_model":[],"class_list":["post-364604","plugin","type-plugin","status-publish","hentry","plugin_tags-variation-swatches","plugin_tags-variation-swatches-for-woocommerce","plugin_tags-woocommerce-attributes-swatches","plugin_tags-woocommerce-color-swatches","plugin_tags-woocommerce-variation-swatches","plugin_category-ecommerce","plugin_contributors-hassendhaouadi","plugin_committers-hassendhaouadi"],"banners":{"banner":"https:\/\/ps.w.org\/sparkswipe-variation-swatches\/assets\/banner-772x250.png?rev=3702778","banner_2x":"https:\/\/ps.w.org\/sparkswipe-variation-swatches\/assets\/banner-1544x500.png?rev=3702778","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/sparkswipe-variation-swatches\/assets\/icon-128x128.gif?rev=3702778","icon_2x":"https:\/\/ps.w.org\/sparkswipe-variation-swatches\/assets\/icon-256x256.gif?rev=3702778","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/sparkswipe-variation-swatches\/assets\/screenshot-1.png?rev=3702778","caption":"Color swatches on a product page"},{"src":"https:\/\/ps.w.org\/sparkswipe-variation-swatches\/assets\/screenshot-2.png?rev=3702778","caption":"Button \/ label size swatches"},{"src":"https:\/\/ps.w.org\/sparkswipe-variation-swatches\/assets\/screenshot-3.png?rev=3702778","caption":"Color and size swatches on the same product"},{"src":"https:\/\/ps.w.org\/sparkswipe-variation-swatches\/assets\/screenshot-4.png?rev=3702778","caption":"Out-of-stock variations crossed out"},{"src":"https:\/\/ps.w.org\/sparkswipe-variation-swatches\/assets\/screenshot-5.png?rev=3702778","caption":"Term-name tooltip on hover"}],"raw_content":"<!--section=description-->\n<p>SparkSwipe Variation Swatches replaces WooCommerce variation dropdowns with color, label, and button swatches on variable products. It uses WooCommerce\u2019s native product attributes and variations as the source of truth \u2014 it does not duplicate products, stock, or prices.<\/p>\n\n<h4>Why merchants like it<\/h4>\n\n<ul>\n<li>Easy \u2014 a setup wizard configures attributes in a couple of minutes<\/li>\n<li>Beautiful \u2014 three style presets (Minimal, Classic, Modern) with shape, size, and gap controls<\/li>\n<li>Fast \u2014 frontend CSS and JS load only on product pages<\/li>\n<li>Compatible \u2014 works with WooCommerce\u2019s variation form, prices, images, and add to cart<\/li>\n<\/ul>\n\n<h4>Free features<\/h4>\n\n<ul>\n<li>Color, label, button, and dropdown swatches<\/li>\n<li>Circle, square, and rounded shapes<\/li>\n<li>Size, spacing, borders, and selected states<\/li>\n<li>Basic term-name tooltips<\/li>\n<li>Global attribute configuration<\/li>\n<li>Product-level overrides (display + shape)<\/li>\n<li>Disable or cross unavailable variations<\/li>\n<li>Reset variations<\/li>\n<li>Setup wizard \/ tutorial and live preview<\/li>\n<li>System status report<\/li>\n<li>Translation-ready and RTL-friendly<\/li>\n<\/ul>\n\n<h4>Pro (separate plugin)<\/h4>\n\n<p>Additional features are available in a separate Pro plugin (not included here):<\/p>\n\n<ul>\n<li>Image swatches and image + text<\/li>\n<li>Radio, dual color, and gradient types<\/li>\n<li>Term images and secondary colors<\/li>\n<li>Per-product swatch image overrides<\/li>\n<li>Shop, category, and search swatches<\/li>\n<li>Blur \/ hide unavailable options<\/li>\n<li>Custom CSS<\/li>\n<\/ul>\n\n<p>This free plugin is fully functional on its own.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Install and activate WooCommerce.<\/li>\n<li>Upload this plugin or install it from Plugins \u2192 Add New.<\/li>\n<li>Activate SparkSwipe Variation Swatches.<\/li>\n<li>Complete the tutorial (or skip it and open SparkSwipe Swatches in the admin menu).<\/li>\n<li>Assign colors to attribute terms under SparkSwipe Swatches \u2192 Attributes.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20replace%20woocommerce%20variations%3F\"><h3>Does this replace WooCommerce variations?<\/h3><\/dt>\n<dd><p>No. The original variation selects stay in the form (visually hidden). Swatches update those selects so price, stock, images, and add to cart keep working.<\/p><\/dd>\n<dt id=\"will%20i%20lose%20settings%20if%20i%20deactivate%20the%20plugin%3F\"><h3>Will I lose settings if I deactivate the plugin?<\/h3><\/dt>\n<dd><p>No. Settings are kept by default. You can choose \u201cDelete all plugin data\u201d under Settings \u2192 Uninstall before removing the plugin.<\/p><\/dd>\n<dt id=\"can%20i%20style%20one%20product%20differently%3F\"><h3>Can I style one product differently?<\/h3><\/dt>\n<dd><p>Yes. Edit a variable product and open the SparkSwipe Swatches tab. Turn on Override global styles to change display and shape per attribute.<\/p><\/dd>\n<dt id=\"are%20image%20swatches%20included%20in%20free%3F\"><h3>Are image swatches included in Free?<\/h3><\/dt>\n<dd><p>Image swatches (and term images) are part of the separate Pro plugin. Free includes color, label, button, and dropdown.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.1.4<\/h4>\n\n<ul>\n<li>Refresh WordPress.org banners, animated icon, and catalog-style screenshots<\/li>\n<\/ul>\n\n<h4>1.1.3<\/h4>\n\n<ul>\n<li>Use one distinctive sparvasw prefix for PHP names, options, REST, and meta writes<\/li>\n<\/ul>\n\n<h4>1.1.2<\/h4>\n\n<ul>\n<li>Finish the SparkSwipe rename in remaining admin, tutorial, and license strings<\/li>\n<\/ul>\n\n<h4>1.1.1<\/h4>\n\n<ul>\n<li>Keep in-stock swatches clickable on first paint \u2014 they no longer grey out before WooCommerce finishes checking combinations<\/li>\n<li>Select numeric attribute values (7, 10, 00) reliably instead of treating them as numbers<\/li>\n<li>Do not prefix custom product attributes with pa_ when that taxonomy does not exist<\/li>\n<li>Re-bind swatches when a variation form is loaded over AJAX or after a fragment refresh<\/li>\n<li>Clicking the selected swatch clears it, matching WooCommerce\u2019s reset behaviour<\/li>\n<li>Declare compatibility with WooCommerce 11.1 and keep swatch boxes sized correctly in Safari<\/li>\n<li>Restore the first-run tutorial redirect after activation<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Rename to SparkSwipe Variation Swatches for WooCommerce (distinctive slug)<\/li>\n<li>Remove locked Pro feature code from the free plugin (Guideline 5)<\/li>\n<li>Replace the Pro feature list with swatch previews, per-style preview dialogs, and a Free\/Pro comparison table; drop all leftover \"locked\" styles and scripts<\/li>\n<li>Harden REST term permissions for WooCommerce attribute taxonomies only<\/li>\n<li>Prefix options, meta, REST, and handles with sparvasw_<\/li>\n<li>Show a skeleton placeholder while the Attributes and System Status panels load, instead of a blank screen<\/li>\n<li>Show a retry prompt when a panel fails to load, instead of leaving the screen empty<\/li>\n<li>Align the dashboard stat values and card buttons, and restore the marker on the Pro feature list<\/li>\n<li>Group short settings fields into rows, style the section headings consistently, and match checkboxes and radios to the plugin palette<\/li>\n<li>Give the border colour pickers visible labels<\/li>\n<li>Use Aptos \/ Segoe UI \/ Tahoma for titles and all admin and swatch text<\/li>\n<\/ul>\n\n<h4>1.0.23<\/h4>\n\n<ul>\n<li>Product Smart Swatches tab: shorter copy, clearer override switch contrast<\/li>\n<li>Product Image display: per-term swatch image overrides with live preview (Pro)<\/li>\n<li>Admin URL slug fixes for the dashboard and tutorial links<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<\/ul>","raw_excerpt":"Beautiful WooCommerce variation swatches in minutes \u2014 without coding. Color, label, and button swatches with a modern admin.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/364604","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=364604"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/hassendhaouadi"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=364604"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=364604"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=364604"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=364604"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=364604"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=364604"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}