New Features
- Re-convert Profile Action: Added bulk action to re-run profile conversion with updated field mappings. Allows merchants to update profiles converted in earlier versions to take advantage of improved mapping logic while preserving original feed template data.
- CSV Map File Download Tool: Added automatic detection and download capability for the CSV mapping file required for profile conversion. Includes warnings when file is missing and direct download option in Tools page.
- Lock/Unlock All Tools: Added bulk tools on the Tools page to lock or unlock all listings at once. Lock All prevents automatic updates while still allowing inventory/price changes. Unlock All resumes full automatic updates.
Profile Conversion Improvements
- Memory Optimization: Implemented caching system to prevent memory errors during Product Type property mapping. Significantly reduces memory usage for large catalogs by caching processed mappings instead of loading entire CSV file.
- Merchant Shipping Groups: Fixed mapping of old Merchant Shipping Group values to new dropdown IDs. New Merchant Shipping Group values now get found correctly.
- Country of Origin: Fixed incorrect field mapping that was causing validation failures.
- Unit Conversion: Expanded unit conversion to handle additional field types including weight and dimensions, not just _unit_of_measure fields.
- Package Weight Unit: Corrected mapping from
package_weight_unit_of_measure
to useitem_package_weight[0][unit]
instead ofitem_weight[0][unit]
. - Converted Profile List: Fixed issue where successfully converted profiles still appeared in the “available to convert” list.
- Profile Converter Display: Fixed UI display issues on the profile converter page.
- Cache Debug Mode: Cache now properly disables when DEBUG mode level 7 is enabled.
JSON Feed Fixes
- Sale Price in InventoryLoader: Added missing sale price fields to InventoryLoader JSON feeds, including sale price value, start date, and end date.
- Encoding Issue: Fixed URL encoding bug causing values with special characters to get cut off in JSON feeds. All field values now properly URL-encoded before transmission.
- Discounted Price Section: Fixed issue where discounted_price section was included in feeds even when no sale price was set. Section now only appears when sale price exists.
- Sale Price Value Logic: Corrected
getSalePriceValue()
to not return standard price when “Use Sale Price” is disabled. - Sale Price Dates: Fixed sale price start and end dates not getting included in feeds.
Variation Handling
- Variation Attributes: Fixed variation attributes not getting fetched correctly from product data.
- Shortcodes in Variations: Fixed shortcodes not getting replaced in variation-specific fields (multiple instances).
- Nested Composites: Fixed handling of nested composite data structures in items, such as Color Map.
- Parent Variable Columns: Fixed
$parent_var_columns
whitelist for variables not getting executed. - Variation Properties Visibility: Unhid variation-related properties in the UI to make them accessible.
- Stock Sorting: Fixed sorting by stock column failing for variable product listings.
Listing Management
- ASIN Meta Sync: Fixed
_wpla_asin
synchronization when inserting and matching listings. - ASIN Fallback: Added fallback logic to use ASIN from listings table if meta
_wpla_asin
is empty. - Matched Listings Condition: Fixed matched listings not getting condition value, which was causing submission failures.
- DELETE Feed Status: Fixed DELETE feeds incorrectly changing listing status back to SUBMITTED.
- SKU Not Found Handler: Added proper SKU Not Found error handler for the Check for Listing Errors action.
- Listings Check Scope: Modified Listings Check to only fail matched and submitted listings, not all statuses.
- Product Type Priority: Fixed
getListingProductType
to prioritize product-level Product Type over profile defaults.
Bug Fixes
- Profile Cloning: Fixed double serialization bug when cloning profiles. Added recovery logic to handle previously double-serialized data.
- Order Date Consistency: Fixed inconsistent “Last Order Updated” date/time formatting.
- Custom Tracking Links: Fixed undefined array key warning for “custom_tracking_link”.
Technical Changes
- Dev Files Cleanup: Cleaned up development files.
- Uninstall Script: Updated uninstall script to include removal of new database tables.
- Scripts Migration: Moved scripts to wplab_scripts directory.
- .gitignore Update: Updated .gitignore file.
- Documentation: Updated inline documentation.