{"id":279061,"date":"2026-02-20T10:04:47","date_gmt":"2026-02-20T10:04:47","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/weam-attribute-manager-for-woocommerce\/"},"modified":"2026-02-20T12:11:00","modified_gmt":"2026-02-20T12:11:00","slug":"weam4woo","status":"publish","type":"plugin","link":"https:\/\/pcd.wordpress.org\/plugins\/weam4woo\/","author":23445601,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"2.1.8.5","stable_tag":"2.1.8.5","tested":"6.9.4","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"WEAM - Attribute Manager for WooCommerce","header_author":"WEAM","header_description":"Professional attribute management for WooCommerce. Quick Add, smart protection, clean UI. Make attribute management fast, clean, and safe.","assets_banners_color":"b6b5e7","last_updated":"2026-02-20 12:11:00","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/weam.nl\/","header_plugin_uri":"https:\/\/weam.nl\/plugin\/","header_author_uri":"https:\/\/weam.nl","rating":0,"author_block_rating":0,"active_installs":0,"downloads":240,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"2.1.8.5":{"tag":"2.1.8.5","author":"weam4woo","date":"2026-02-20 10:04:11"}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3465773,"resolution":"128x128","location":"assets","locale":""},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3465773,"resolution":"256x256","location":"assets","locale":""}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3466402,"resolution":"1544x500","location":"assets","locale":""},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3466402,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["2.1.8.5"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3465866,"resolution":"1","location":"assets","locale":""},"screenshot-10.png":{"filename":"screenshot-10.png","revision":3465866,"resolution":"10","location":"assets","locale":""},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3465866,"resolution":"2","location":"assets","locale":""},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3465866,"resolution":"3","location":"assets","locale":""},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3465866,"resolution":"4","location":"assets","locale":""},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3465866,"resolution":"5","location":"assets","locale":""},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3465866,"resolution":"6","location":"assets","locale":""},"screenshot-7.png":{"filename":"screenshot-7.png","revision":3465866,"resolution":"7","location":"assets","locale":""},"screenshot-8.png":{"filename":"screenshot-8.png","revision":3465866,"resolution":"8","location":"assets","locale":""},"screenshot-9.png":{"filename":"screenshot-9.png","revision":3465866,"resolution":"9","location":"assets","locale":""}},"screenshots":{"1":"Before &amp; After - Clean, modern interface replaces WooCommerce's cluttered attribute editor","2":"Smart Search Filter - Instantly find values in large attribute lists","3":"Attribute Configuration - Customize input types, layouts, and behavior per attribute","4":"Empty Field Protection - Prevent WooCommerce from removing empty attributes","5":"Quick Add Values - Add multiple new values without leaving the product page","6":"AI Anomaly Detection (Pro) - Automatically find data quality issues across your catalog"},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[256256,9032,11143,66595,286],"plugin_category":[45],"plugin_contributors":[256257],"plugin_business_model":[],"class_list":["post-279061","plugin","type-plugin","status-publish","hentry","plugin_tags-attribute-manager","plugin_tags-attributes","plugin_tags-bulk-edit","plugin_tags-product-attributes","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-weam4woo","plugin_committers-weam4woo"],"banners":{"banner":"https:\/\/ps.w.org\/weam4woo\/assets\/banner-772x250.png?rev=3466402","banner_2x":"https:\/\/ps.w.org\/weam4woo\/assets\/banner-1544x500.png?rev=3466402","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/weam4woo\/assets\/icon-128x128.png?rev=3465773","icon_2x":"https:\/\/ps.w.org\/weam4woo\/assets\/icon-256x256.png?rev=3465773","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/weam4woo\/assets\/screenshot-1.png?rev=3465866","caption":"Before &amp; After - Clean, modern interface replaces WooCommerce's cluttered attribute editor"},{"src":"https:\/\/ps.w.org\/weam4woo\/assets\/screenshot-2.png?rev=3465866","caption":"Smart Search Filter - Instantly find values in large attribute lists"},{"src":"https:\/\/ps.w.org\/weam4woo\/assets\/screenshot-3.png?rev=3465866","caption":"Attribute Configuration - Customize input types, layouts, and behavior per attribute"},{"src":"https:\/\/ps.w.org\/weam4woo\/assets\/screenshot-4.png?rev=3465866","caption":"Empty Field Protection - Prevent WooCommerce from removing empty attributes"},{"src":"https:\/\/ps.w.org\/weam4woo\/assets\/screenshot-5.png?rev=3465866","caption":"Quick Add Values - Add multiple new values without leaving the product page"},{"src":"https:\/\/ps.w.org\/weam4woo\/assets\/screenshot-6.png?rev=3465866","caption":"AI Anomaly Detection (Pro) - Automatically find data quality issues across your catalog"},{"src":"https:\/\/ps.w.org\/weam4woo\/assets\/screenshot-7.png?rev=3465866","caption":""},{"src":"https:\/\/ps.w.org\/weam4woo\/assets\/screenshot-8.png?rev=3465866","caption":""},{"src":"https:\/\/ps.w.org\/weam4woo\/assets\/screenshot-9.png?rev=3465866","caption":""},{"src":"https:\/\/ps.w.org\/weam4woo\/assets\/screenshot-10.png?rev=3465866","caption":""}],"raw_content":"<!--section=description-->\n<p><strong>Stop fighting with WooCommerce's attribute interface.<\/strong><\/p>\n\n<p>If you manage products with attributes (sizes, colors, materials, specifications), you've probably experienced:<\/p>\n\n<ul>\n<li><strong>Slow, repetitive value creation<\/strong> \u2013 Adding attribute values one at a time through WooCommerce's interface wastes hours<\/li>\n<li><strong>Can't find your values<\/strong> \u2013 WooCommerce's dropdown truncates at ~50 terms; larger catalogs become unmanageable<\/li>\n<li><strong>No bulk operations<\/strong> \u2013 Each product requires individual editing, multiplying your workload<\/li>\n<li><strong>Accidental deletions<\/strong> \u2013 One wrong click removes values with no undo option<\/li>\n<\/ul>\n\n<p><strong>WEAM solves these problems.<\/strong><\/p>\n\n<h4>Key Features<\/h4>\n\n<p><strong>Multiple Input Formats<\/strong> \u2013 Choose the input style that fits your workflow: dropdowns, radio buttons, multi-select checkboxes, or number input for numeric attributes.<\/p>\n\n<p><strong>Per-Attribute Settings<\/strong> \u2013 Configure each attribute independently with its own input type, layout direction, sorting options, and behavior settings.<\/p>\n\n<p><strong>Easy-to-Use Interface<\/strong> \u2013 Clean, modern interface replaces WooCommerce's cluttered attribute editor with visual selection highlighting and clear action buttons.<\/p>\n\n<p><strong>Type-to-Filter Search<\/strong> \u2013 Find any attribute value instantly, even with thousands of terms. No more scrolling through endless dropdowns.<\/p>\n\n<p><strong>Quick Add Values<\/strong> \u2013 Add multiple attribute values at once. Type or paste a list (one per line, or separated by |), and WEAM creates all values instantly.<\/p>\n\n<p><strong>Delete Protection<\/strong> \u2013 Prevent accidental deletion of attribute values with PIN protection. Your data stays safe.<\/p>\n\n<p><strong>Empty Field Protection<\/strong> \u2013 Prevents WooCommerce from automatically removing empty attributes when saving products.<\/p>\n\n<p><strong>Multiple Layouts<\/strong> \u2013 Choose between horizontal (inline) or vertical (stacked) layouts per attribute.<\/p>\n\n<h4>Pro Features<\/h4>\n\n<ul>\n<li><strong>AI Anomaly Detection<\/strong> \u2013 Automatically detect data quality issues and inconsistent values across your catalog<\/li>\n<li><strong>Audit Trail<\/strong> \u2013 Track all delete operations with full history<\/li>\n<li><strong>Select All \/ Select None<\/strong> \u2013 Bulk selection controls<\/li>\n<li><strong>Show Selected Only<\/strong> \u2013 Focus on chosen values<\/li>\n<li><strong>Maximum Selections<\/strong> \u2013 Limit how many values can be selected per attribute<\/li>\n<\/ul>\n\n<h4>Who Benefits Most<\/h4>\n\n<ul>\n<li><strong>Fashion stores<\/strong> \u2013 Managing sizes, colors, materials across seasonal collections<\/li>\n<li><strong>Electronics retailers<\/strong> \u2013 Handling technical specs, compatibility options, feature sets<\/li>\n<li><strong>Furniture &amp; home goods<\/strong> \u2013 Tracking dimensions, materials, finishes<\/li>\n<li><strong>Any store with 50+ products<\/strong> \u2013 If attributes are part of your workflow, WEAM helps<\/li>\n<\/ul>\n\n<h4>Documentation &amp; Support<\/h4>\n\n<ul>\n<li><a href=\"https:\/\/weam.nl\/faq\/\">FAQ<\/a> \u2013 Common questions answered<\/li>\n<li><a href=\"https:\/\/weam.nl\/feature-list\/\">Feature List<\/a> \u2013 Complete feature breakdown<\/li>\n<\/ul>\n\n<h3>External services<\/h3>\n\n<p>This plugin optionally connects to the Pixabay API to search for royalty-free images when setting up attribute icons. This feature requires a free Pixabay API key that the user provides in the plugin settings.<\/p>\n\n<h4>Pixabay image search<\/h4>\n\n<ul>\n<li><strong>What it does:<\/strong> Searches the Pixabay image library for icons to use as attribute swatches.<\/li>\n<li><strong>When data is sent:<\/strong> Only when the admin actively searches for images in the Attribute Icons settings. No data is sent automatically or in the background.<\/li>\n<li><strong>What data is sent:<\/strong> The search query (text), image type filter, and the user's API key.<\/li>\n<li><strong>Service provider:<\/strong> Pixabay (pixabay.com)<\/li>\n<li><strong>Terms of service:<\/strong> <a href=\"https:\/\/pixabay.com\/service\/terms\/\">https:\/\/pixabay.com\/service\/terms\/<\/a><\/li>\n<li><strong>Privacy policy:<\/strong> <a href=\"https:\/\/pixabay.com\/service\/privacy\/\">https:\/\/pixabay.com\/service\/privacy\/<\/a><\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin files to <code>\/wp-content\/plugins\/weam4woo\/<\/code> or install directly through the WordPress plugins screen<\/li>\n<li>Activate the plugin through the 'Plugins' screen in WordPress<\/li>\n<li>Navigate to WooCommerce \u2192 WEAM to configure your attribute settings<\/li>\n<li>Edit any product \u2013 WEAM automatically enhances the Attributes tab<\/li>\n<\/ol>\n\n<h4>Minimum Requirements<\/h4>\n\n<ul>\n<li>WordPress 6.0 or higher<\/li>\n<li>WooCommerce 7.0 or higher<\/li>\n<li>PHP 7.4 or higher<\/li>\n<\/ul>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20plugin%20require%20woocommerce%3F\"><h3>Does this plugin require WooCommerce?<\/h3><\/dt>\n<dd><p>Yes, WEAM extends WooCommerce's attribute functionality. WooCommerce must be installed and active.<\/p><\/dd>\n<dt id=\"will%20this%20work%20with%20my%20theme%3F\"><h3>Will this work with my theme?<\/h3><\/dt>\n<dd><p>WEAM works in the WordPress admin area only and does not affect your storefront. It's compatible with any theme that works with WooCommerce.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20variable%20products%3F\"><h3>Does it work with variable products?<\/h3><\/dt>\n<dd><p>Yes. WEAM fully supports variable products and their attribute variations. The enhanced interface makes variation attribute assignment faster.<\/p><\/dd>\n<dt id=\"what%20happens%20to%20my%20data%20if%20i%20deactivate%20the%20plugin%3F\"><h3>What happens to my data if I deactivate the plugin?<\/h3><\/dt>\n<dd><p>Nothing! WEAM doesn't modify your actual product or attribute data. It only changes how you interact with attributes. Deactivating simply returns you to the default WooCommerce interface.<\/p><\/dd>\n<dt id=\"is%20my%20data%20safe%3F\"><h3>Is my data safe?<\/h3><\/dt>\n<dd><p>WEAM includes data protection features and never modifies WooCommerce's core attribute storage. Your attributes remain standard WooCommerce data, ensuring full compatibility if you ever deactivate the plugin.<\/p><\/dd>\n<dt id=\"is%20it%20compatible%20with%20wpml%20%2F%20polylang%3F\"><h3>Is it compatible with WPML \/ Polylang?<\/h3><\/dt>\n<dd><p>Yes, WEAM works with standard WooCommerce attributes, which are fully supported by WPML and Polylang translation plugins.<\/p><\/dd>\n<dt id=\"where%20can%20i%20get%20support%3F\"><h3>Where can I get support?<\/h3><\/dt>\n<dd><ul>\n<li>Free users: Use the <a href=\"https:\/\/wordpress.org\/support\/plugin\/weam4woo\/\">WordPress.org support forum<\/a><\/li>\n<li>Pro users: Visit <a href=\"https:\/\/weam.nl\/support\/\">weam.nl\/support\/<\/a> for priority support<\/li>\n<\/ul><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>2.1.8.5<\/h4>\n\n<ul>\n<li>FIX: WP.org Guideline 5 \u2014 wrapped all unwrapped pro code in is__premium_only() blocks for automatic Freemius stripping<\/li>\n<li>Removed check_pro_access() gate and MAX_BACKUPS constant from free build (backup\/restore\/import\/export section)<\/li>\n<li>Wrapped strip_pro_features() method body so it becomes a no-op in free build<\/li>\n<li>Wrapped $is_locked assignment and all locked-feature UI branches in renderer<\/li>\n<li>Wrapped weam_get_pro_version(), weam_get_upgrade_url(), weam_get_pro_url() helper functions<\/li>\n<li>Removed is_pro_plus tier flag from ajax_check_term_usage_basic() free-version response<\/li>\n<li>Added Freemius shim detection code and class-weam-fs-shim.php to codebase<\/li>\n<\/ul>\n\n<h4>2.1.8.4<\/h4>\n\n<ul>\n<li>NEW: Free-to-Pro migration handler \u2014 detects free version alongside premium, shows branded one-click migration notice with banner<\/li>\n<li>Migration safely deactivates and removes the free version while verifying all settings are preserved<\/li>\n<li>Three-state UI (initial\/migrating\/success) with consistent layout, error recovery, and documentation link<\/li>\n<li>CSS and JS properly enqueued via wp_add_inline_style() and wp_add_inline_script() \u2014 no inline tags<\/li>\n<li>Migration handler and banner image added to @fs_premium_only (stripped from free build)<\/li>\n<\/ul>\n\n<h4>2.1.8.3<\/h4>\n\n<ul>\n<li>FIX: PCP \u2014 replaced hardcoded LIKE wildcards with $wpdb-&gt;esc_like() placeholders in wp_options queries (weam-ve-rename-engine.php)<\/li>\n<li>FIX: PCP \u2014 added phpcs:ignore for NonceVerification on $_POST access lines in user profile PIN handler (class-weam-protected-delete.php)<\/li>\n<li>FIX: PCP \u2014 moved InterpolatedNotPrepared phpcs:ignore to correct line for audit trail SQL queries (class-weam-protected-delete.php)<\/li>\n<\/ul>\n\n<h4>2.1.8.2<\/h4>\n\n<ul>\n<li>FIX: PCP \u2014 replaced file_put_contents() with WP_Filesystem API in directory setup (class-weam-installer.php)<\/li>\n<\/ul>\n\n<h4>2.1.8.1<\/h4>\n\n<ul>\n<li>FIX: WPCS \u2014 escape all ternary echo output in attribute table (esc_attr wrapping)<\/li>\n<li>FIX: WPCS \u2014 escape ternary echo output in tab navigation (esc_attr wrapping)<\/li>\n<li>FIX: WPCS \u2014 escape data-hide-initially and data-show-limit attributes in product renderer (esc_attr wrapping)<\/li>\n<li>FIX: WPCS \u2014 use wp_json_encode for JS boolean output in calibration modal<\/li>\n<li>FIX: WPCS \u2014 add phpcs:ignore annotations for file_put_contents in activation directory setup<\/li>\n<li>FIX: Removed obsolete phpcs:ignore comments where escaping is now complete<\/li>\n<\/ul>\n\n<h4>2.1.8.0<\/h4>\n\n<ul>\n<li>FIX: WP.org Guideline 5 \u2014 wrapped Backup\/Restore\/Import\/Export AJAX registrations in is__premium_only() (endpoints no longer exist in free build)<\/li>\n<li>FIX: WP.org Guideline 5 \u2014 wrapped toggle_variation_flag AJAX registration in is__premium_only()<\/li>\n<li>FIX: WP.org Guideline 5 \u2014 restructured check_pro_access() so \"requires Pro license\" text is stripped from free build<\/li>\n<\/ul>\n\n<h4>2.1.7.9<\/h4>\n\n<ul>\n<li>FIX: WP.org Guideline 5 compliance \u2014 wrapped all legacy tier-check functions (weam_is_pro, weam_is_trial, weam_has_pro_access, weam_is_pro_plus, weam_has_pro_plus_access) in is__premium_only() blocks so they are stripped from the free build<\/li>\n<li>FIX: Wrapped SKU counter class loading and initialization in is__premium_only() \u2014 removes all upgrade prompts and usage tracking from free build<\/li>\n<li>FIX: Wrapped pro class loader in is__premium_only() \u2014 removes weam_has_pro_access() call from free build<\/li>\n<li>FIX: Restructured attribute sanitizers in class-weam-settings.php and class-weam-admin-settings.php to set defaults unconditionally, then override in is__premium_only() blocks \u2014 removes $weam_has_pro feature gating from free build<\/li>\n<li>FIX: Restructured product override methods (get\/update\/delete) in class-weam-settings.php to use clean is__premium_only() wrapping<\/li>\n<li>FIX: Made translators comments inline (\/* *\/ style on same line as __() call) so they survive Freemius preprocessor code stripping<\/li>\n<li>FIX: PCP compliance \u2014 resolved 6 MissingTranslatorsComment errors in class-weam-ajax-handlers.php<\/li>\n<\/ul>\n\n<h4>2.1.6.8<\/h4>\n\n<ul>\n<li>REFACTOR: Phase 2a \u2014 Freemius infrastructure conversion in weam4woo.php<\/li>\n<li>Removed WEAM_FS_Shim class and if\/else Freemius wrapper (SDK present in all builds)<\/li>\n<li>Wrapped license AJAX handlers in is__premium_only() (stripped from free build)<\/li>\n<li>Wrapped plugin_row_meta license link in is__premium_only()<\/li>\n<li>Converted load_core_files() premium loading to is__premium_only() + can_use_premium_code() pattern<\/li>\n<li>Converted init_components() premium init to is__premium_only() pattern<\/li>\n<li>Simplified weam_is_pro() \u2192 weam_fs()-&gt;is_paying()<\/li>\n<li>Simplified weam_has_pro_access() \u2192 weam_fs()-&gt;can_use_premium_code()<\/li>\n<\/ul>\n\n<h4>2.1.6.7<\/h4>\n\n<ul>\n<li>FIX: Added __premium_only directories to @fs_premium_only header (Freemius auto-stripping did not remove them)<\/li>\n<\/ul>\n\n<h4>2.1.6.6<\/h4>\n\n<ul>\n<li>FIX: Consolidated @fs_premium_only to single-line format (Freemius parser compatibility)<\/li>\n<\/ul>\n\n<h4>2.1.6.5<\/h4>\n\n<ul>\n<li>FIX: Replaced uninstall.php with Freemius after_uninstall hook (required for Freemius deployment)<\/li>\n<li>Infrastructure: Freemius now handles uninstall event tracking and cleanup<\/li>\n<\/ul>\n\n<h4>2.1.6.4<\/h4>\n\n<ul>\n<li>Enhancement: Added @fs_premium_only file declarations for Freemius preprocessor stripping<\/li>\n<li>Enhancement: Added @fs_ignore for Freemius SDK directory to skip unnecessary processing<\/li>\n<li>Infrastructure: Freemius single-codebase deployment model (Phase 1 of trialware refactor)<\/li>\n<\/ul>\n\n<h4>2.1.6.3<\/h4>\n\n<ul>\n<li>FIX: Replaced inline  and  tags with wp_enqueue_script\/wp_enqueue_style (WP.org compliance)<\/li>\n<li>FIX: Added External services section to readme.txt documenting Pixabay API usage<\/li>\n<li>FIX: Replaced WP_CONTENT_DIR\/URL constants with wp_upload_dir() function calls<\/li>\n<li>FIX: Renamed upload folder from weam-icons to weam4woo\/icons (must match plugin slug)<\/li>\n<li>FIX: Added migration to move existing icon files from old to new folder location<\/li>\n<li>FIX: Replaced file_put_contents debug logging with error_log()<\/li>\n<\/ul>\n\n<h4>2.1.6.2<\/h4>\n\n<ul>\n<li>Fix: Replaced <code>global $product<\/code> with <code>wc_get_product()<\/code> to resolve Plugin Check global variable prefix warnings<\/li>\n<li>Fix: Moved translators comment to directly above <code>__()<\/code> call for PHPCS compliance<\/li>\n<\/ul>\n\n<h4>2.1.6.1<\/h4>\n\n<ul>\n<li>Fix: WordPress Plugin Check compliance \u2014 resolved all 7 errors and 107 warnings<\/li>\n<li>Fix: Added missing <code>translators:<\/code> comments for i18n strings with placeholders<\/li>\n<li>Fix: Corrected text domain mismatch ('weam' \u2192 'weam4woo') in installer<\/li>\n<li>Fix: Replaced <code>rename()<\/code> with <code>WP_Filesystem::move()<\/code> per WP coding standards<\/li>\n<li>Fix: Replaced <code>unlink()<\/code> with <code>wp_delete_file()<\/code> per WP coding standards<\/li>\n<li>Fix: Added <code>wp_unslash()<\/code> to all <code>$_POST<\/code> sanitization calls (36 instances)<\/li>\n<li>Fix: Added <code>isset()<\/code> guards for all <code>$_POST<\/code> array access (11 instances)<\/li>\n<li>Fix: Proper sanitization and phpcs:ignore for JSON\/array POST data<\/li>\n<li>Fix: Added phpcs:ignore for WooCommerce <code>global $product<\/code> usage<\/li>\n<li>Fix: Added phpcs:ignore for diagnostic <code>error_log()<\/code> and <code>debug_backtrace()<\/code> calls<\/li>\n<li>Fix: Trimmed changelog to published versions only (under 5000 char limit)<\/li>\n<\/ul>\n\n<h4>2.1.6<\/h4>\n\n<ul>\n<li>Added: Values tab now available in free version \u2014 view attribute values with product counts and delete unused values<\/li>\n<li>Added: Select All\/None buttons enabled for free users on product edit page<\/li>\n<li>Added: Delete Value button enabled for free users (admin role) on product edit page<\/li>\n<li>Added: Greyed-out Pro\/Pro+ tabs in free version linking to feature list<\/li>\n<li>Added: Feature Request link in footer for user feedback<\/li>\n<li>Changed: Footer layout redesigned \u2014 Documentation (left), Feature Request (center), Upgrade + License (right)<\/li>\n<li>Changed: Footer Upgrade link now points to weam.nl\/feature-list\/<\/li>\n<li>Changed: License tab wording clarified for free users<\/li>\n<li>Changed: WordPress.org compliance \u2014 Freemius SDK removed from free build, lightweight shim replaces it<\/li>\n<li>Changed: Tested up to WordPress 6.9<\/li>\n<li>Removed: Debug info block from License tab<\/li>\n<li>Cleaned: Dead CSS classes and unused PHP helper functions removed<\/li>\n<\/ul>\n\n<h4>2.1.3<\/h4>\n\n<ul>\n<li>REDESIGN: Attribute Icons \u2014 new 4-step flow (Select \u2192 Map \u2192 Style \u2192 Publish)<\/li>\n<li>NEW: Sticky action bar with Back, Next, and Save buttons always visible<\/li>\n<li>NEW: Save button moved to top-right (UX best practice)<\/li>\n<li>NEW: Live preview in Style step shows actual mapped images<\/li>\n<li>NEW: Template section is collapsible (not a separate step)<\/li>\n<li>IMPROVED: Single mode \u2014 removed confusing Guided\/Manual toggle<\/li>\n<li>IMPROVED: Edit flow opens at Map step (the core work)<\/li>\n<li>IMPROVED: Save stays in flow (no page reload)<\/li>\n<li>FIX: Premium guard on Attribute Icons tab (was visible to Free users)<\/li>\n<\/ul>\n\n<h4>2.1.2<\/h4>\n\n<ul>\n<li>FIX: Dot click guards in stepper navigation<\/li>\n<li>FIX: Manual mode navigation edge cases<\/li>\n<li>FIX: Guided mode validation improvements<\/li>\n<li>IMPROVED: Code cleanup and stability fixes<\/li>\n<\/ul>\n\n<h4>2.1.1<\/h4>\n\n<ul>\n<li>NEW: Clickable shop links \u2014 images link to filtered WooCommerce product pages<\/li>\n<li>NEW: Link mode setting (None \/ Shop filter) with shortcode override <code>link=\"shop\"<\/code><\/li>\n<li>NEW: Royalty-free image search \u2014 find images per attribute value via Pixabay API<\/li>\n<li>NEW: Smart context search \u2014 auto-builds query from attribute name + value name<\/li>\n<li>NEW: Image type filter \u2014 search by Photo, Illustration, or Vector<\/li>\n<li>NEW: One-click download \u2014 picks go straight to Media Library and apply to value<\/li>\n<li>NEW: Find button (\ud83d\udd0d) per value row for quick image discovery<\/li>\n<li>IMPROVED: Edit flow opens Settings tab first so all options are reviewable<\/li>\n<li>IMPROVED: Unsaved changes indicator \u2014 Save button pulses amber when changes pending<\/li>\n<li>IMPROVED: Link mode shown on config cards with cart icon<\/li>\n<\/ul>\n\n<h4>2.1.0<\/h4>\n\n<ul>\n<li>NEW: Image Selector \u2014 standalone architecture (extractable as separate plugin)<\/li>\n<li>NEW: Auto PNG conversion \u2014 all images converted to PNG on save for consistency<\/li>\n<li>NEW: SVG blocking \u2014 prevents SVG uploads (XSS security protection)<\/li>\n<li>NEW: Uniform image sizing \u2014 configurable presets (32\/48\/64\/96px) or custom<\/li>\n<li>NEW: Shape selector \u2014 Square, Rounded, Circle, or Borderless display<\/li>\n<li>NEW: Sort order \u2014 A-Z, Z-A, Numeric, Manual drag-reorder, or Original<\/li>\n<li>NEW: Tag-based grouping \u2014 add group tags to values (e.g. \"Care\", \"Certification\")<\/li>\n<li>NEW: Grouped frontend rendering with collapsible group headers<\/li>\n<li>NEW: Shortcode attributes \u2014 override size, shape, group, max items, columns<\/li>\n<li>NEW: Elementor compatibility \u2014 shortcodes now render in all Elementor widgets<\/li>\n<li>NEW: Grid layout \u2014 <code>[weam-v-name cols=\"2\"]<\/code> for multi-column vertical display<\/li>\n<li>IMPROVED: Image processing uses WP Image Editor (GD + Imagick support)<\/li>\n<li>IMPROVED: Protected upload folders with .htaccess + index.php<\/li>\n<\/ul>","raw_excerpt":"The best attribute editor for WooCommerce. Multiple input formats, per-attribute settings, delete protection, and Quick Add values.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/279061","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=279061"}],"author":[{"embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/weam4woo"}],"wp:attachment":[{"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=279061"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=279061"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=279061"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=279061"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=279061"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=279061"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}