Allow customers to choose products in any combination to fill a “container” of a specific size.
Allow customers to choose products in any combination to fill a “container” of a specific size.
*** WooCommerce Mix and Match Products Changelog***
2022.06.10 - version 2.0.5
* Fix - Load order/dependencies for the Cart and Checkout blocks scripts.
* New - Display container config in mini cart.
2022.06.09 - version 2.0.4
* Fix: Missing child item configuration in ShipStation.
* Fix: Incorrect cumulative package weight calculation when packed together.
2022.06.08 - version 2.0.3
* Fix: Fatal error with All Products for WooCommerce Subscriptions < 3.2.
* Tweak: Apply style rules by class only and not by list elements.
* Tweak: Add compatibility module for WoodMart theme.
* Tweak: Remove wrapping div from add to cart button.
* Tweak: Change success class to woocommerce-message.
* Dev: Add wc_mnm_grid_has_flex_layout filter.
2022.06.06 - version 2.0.2
* Fix: Fatal error not enough parameters sent to woocommerce_paypal_payments_product_supports_payment_request_button callback.
* Fix: Update zip build routine to
*** WooCommerce Mix and Match Products Changelog***
2022.06.10 - version 2.0.5
* Fix - Load order/dependencies for the Cart and Checkout blocks scripts.
* New - Display container config in mini cart.
2022.06.09 - version 2.0.4
* Fix: Missing child item configuration in ShipStation.
* Fix: Incorrect cumulative package weight calculation when packed together.
2022.06.08 - version 2.0.3
* Fix: Fatal error with All Products for WooCommerce Subscriptions < 3.2.
* Tweak: Apply style rules by class only and not by list elements.
* Tweak: Add compatibility module for WoodMart theme.
* Tweak: Remove wrapping div from add to cart button.
* Tweak: Change success class to woocommerce-message.
* Dev: Add wc_mnm_grid_has_flex_layout filter.
2022.06.06 - version 2.0.2
* Fix: Fatal error not enough parameters sent to woocommerce_paypal_payments_product_supports_payment_request_button callback.
* Fix: Update zip build routine to always include the block scripts!
2022.06.06 - version 2.0.1
* Fix: Fatal error WC_MNM_PayPal_Compatibility class not found.
2022.06.06 - version 2.0.0
* IMPORTANT: Allowed contents/child items are stored in their own table. - This is a major change to data storage. Please backup your database before upgrading.
* Required: WordPress 4.7 is required.
* Required: WooCommerce 3.6 is required.
* Update: Tested up to WooCommerce 6.5.0.
* New: Support for WooCommerce Cart/Checkout blocks.
* New: Support for selecting allowed contents by category.
* New: Compatibility with All Products for Subscriptions.
* New: Set global styles for Mix and Match products in the Customizer.
* New: Separate template for the add to cart button.
* New: Updated mix and match shipping interface in admin metabox.
* New: Add theme support modules for Astra, Avada, OceanWP, X themes.
* Dev: Add wc_mnm_loop_classes filter to add custom classes to mix and match loop.
* Dev: Add wc_mnm_child_item_classes filter to add custom CSS to child items.
* Dev: Add wc_mnm_child_item_data_attributes filter to add custom data attributes to child items.
* Dev: Deprecated mix and match product class methods - get_children(), get_available_children(), get_contents(), set_contents(), has_children(), has_available_children(), get_child_quantity(), get_child_availability_html(), maybe_apply_discount_to_child()
* Dev: BREAKING! formatting change for results of WC_Product_Mix_and_Match::get_layout_options() and WC_Product_Mix_and_Match::get_add_to_cart_form_location_options()
* Dev: Rename all action hooks with wc_mnm_ prefix. woocommerce_mnm_ hooks are deprecated but should still work.
* Dev: Rename all filters with wc_mnm_ prefix. woocommerce_mnm_ filters are deprecated but should still work.
2022.05.02 - version 1.12.1
* Update: Tested up to WooCommerce 6.5.0.
* Fix: Import/export of child variations.
* Dev: Add update warning notice for when 2.0 is released.
2022.01.28 - version 1.12.0
* Update: Tested up to WooCommerce 6.1.0.
* Note: This release is largely targeted towards improved compatibility with mini-extensions. If you are using any mini-extensions, please look to see if there's an update.
* Dev: Frontend refactor container config to be array of objects. container.api.get_container_config( 'v2' ) to fetch new array[]{ product_id: 99, product_qty: 3 } .
* Dev: Add parameter to wc_mnm_template_add_to_cart() to optionally call add to cart template for a specific product. Improved compatibility with mini-extensions, ie: Grouped MNM.
* Dev: Revamp frontend price/rounding formatting functions to accept custom args.
* Dev: Frontend calculate totals and subtotals from config instead of HTML inputs. This will allow for compat with custom layouts, ie: Select Layouts.
* Dev: Pass false to 'wc-mnm-reset-configuration' triggerHandler to disable update_container(). Also related to compat for custom layouts.
2021.12.16 - version 1.11.6
* Fix: Missing action parameter in add to cart form element.
* Fix: Completely remove WooCommerce Payments payment request buttons for Mix and Match products.
2021.11.19 - version 1.11.5
* Fix: Load RTL stylesheets when not in SCRIPT_DEBUG mode.
* Fix: Load correct stylesheet when in QuickView Modal.
* Tweak: Moved 'add-to-cart' input value to button.
2021.11.11 - version 1.11.4
* Update: Tested up to WooCommerce 5.9.0.
* Fix: Hide PayPal Payments payment request buttons for Mix and Match products.
* Fix: Hide WooCommerce Payments payment request buttons for Mix and Match products.
* Tweak: Display quantity in child product title if min and max allowed quantities are the same.
* Tweak: Wrap main quantity input and add to cart button in div element.
2021.09.21 - version 1.11.3
* Update: Tested up to WooCommerce 5.6.0.
* Fix: Add woocommerce_product_has_options core filter to WC_Product_Mix_and_Match class.
* Fix: Only validate container stock if config is still valid. Resolves issue with empty containers getting added to cart via ajax.
* Fix: Quick view support for products with "after summary" forms.
* New: Add wc_mnm_show_edit_it_cart_link filter. Return false to hide "edit" link in cart. Requires Quick View 1.5.0.
2021.06.11 - version 1.11.2
* Update: Tested up to WooCommerce 5.4.0.
* New: Enable support for Stripe payment requests in carts that contain a Mix and Match product.
* Fix: Compatibility with PayPal Express Smart buttons. Requires WooCommerce PayPal Express gateway plugin v1.6.21.
2021.04.28 - version 1.11.1
* Fix: 1.10.0 database upgrade routine failures when updating 20+ Mix and Match products.
22021.03.23 - version 1.11.0
* New: Use _prime_post_caches() to boost speed of fetching child products.
* Fix: Only add indent wrapping div to product name if it doesn't already exist. Prevent multiple sub-arrows from displaying when coupons fail.
* Fix: Php 8 compat: Required parameter follows optional parameter.
* Fix: Fixed PHP warnings about admin notices.
* Fix: Add margin reset to in single product page.
* Dev: Add get_props_to_meta_keys() getter to data store class.
2020-12.07 - version 1.10.6
* Fix - Grand total calculations for containers + Product Addons.
* Fix - Prevent double discounts when discounting from sale price.
* Fix - Harden calls to init gallery on child product images to prevent Uncaught TypeError: .wc_product_gallery is not a function.
* Fix - Use wc_product_class() for opening child item divs/rows. Restores compat with filters mini-extension.
* Fix - Min/Max Quantities compatibility - ignore rules on variations too.
* Fix - Add RTL Language style data.
2020.11.18 - version 1.10.5
* Update: Tested up to WooCommerce 4.7.0.
* Fix: Support Min/Max Quantities Variation level min/max rules.
* Fix: CoCart integration configuration support for variation IDs in container.
* Fix: Fix compatibility with Validate by Weight mini-extension.
2020.10.16 - version 1.10.4
* Update: Tested up to WooCommerce 4.6.0.
* Fix: Restore compatibility with One Page Check single product template.
* Fix: Harden is_child_supported_product_type() helper in case $product is false (ie, product no longer exists,etc)
* Fix: pass container object to wc-mnm-container-quantities-updated trigger in front end script
2020.09.29 - version 1.10.3
* New: Add ability to configure the contents of a Mix and Match container in editable/manually-created subscriptions.
* Fix: PHP notice when adding to cart with any child products out of stock.
2020.09.09 - version 1.10.2
* Update: Tested up to WooCommerce 4.5.0.
* New: add has_options() method to product class for better compat with blocks.
* Fix: Elementor style rule, force Elementor to display MNM form as a block instead of flex layout.
* Fix: Fix incorrect shipping state on child items in manually created orders.
2020.08.25 - version 1.10.1
* Fix: Validate stock against quantity already in the cart.
2020.07.24 - version 1.10.0
* IMPORTANT: Includes a Database update so please make a database backup before proceeding.
* New: REST API support for Mix and Match properties in product and order responses.
* New: Compatibility with CoCart plugin. Props @seb86!
* Dev: Change boot method so that `class_exists('WC_Mix_and_Match')` reliably determines if the plugin is active.
* Dev: Deprecate woocommerce_mnm_order_item_part_of_meta_name filter
* Dev: Change "Container size", "Part of", and "Purchased with" order item meta keys to "mnm_container_size", "mnm_part_of", and "mnm_purchased_with"
* Fix: Repair mnm_data meta data save routine.
2020.07.09 - version 1.9.13
* Fix: Update plugin header with tested up to WooCommerce 4.3.0.
2020.07.09 - version 1.9.12
* Update: Tested up to WooCommerce 4.3.0.
* Fix: Fatal error in cart subtotals for Mix and Match container and child products with WC 4.3.0.
2020.06.25 - version 1.9.11
* Fix: Delete accidental logging when container is not purchasable.
2020.06.24 - version 1.9.10
* Fix: Add parameter to wc_mnm_price_format() to return string without HTML. Resolves html in dropdown for All Products with Subscriptions (with bridge plugin).
2020.06.20 - version 1.9.9
* Fix: Make reset button work when editing quantities in cart/after add to cart.
* Tweak: Deprecate maybe_sync() method. Check handled by sync().
2020.06.15 - version 1.9.8
* Fix: Exclude build tools from zip file. Reducing zip file size.
* Fix: Force saving the base price if it doesn't exist.
2020.06.07 - version 1.9.7
* Fix: Stray comma causing parse error in thumbnail template.
2020.06.06 - version 1.9.6
* Update: Tested up to WooCommerce 4.2.0.
* Fix: Add product ID as value attribute to add to cart button. Better compatibility with some ajax add to cart theme scripts.
* Fix: Incorrect display in cart price column for products with per-item pricing.
* New: Add wc_mnm_product_thumbnail_link_classes filter for changing lightbox trigger classes.
2020.05.21 - version 1.9.5
* Fix: Incorrect initialization of the photoSwipe scripts!
* Fix: Prevent linking to thumbnails if theme does not support `wc-product-gallery-lightbox`.
* Fix: Inherit thumbnail of variable product when variation does not have a thumbnail.
2020.05.16 - version 1.9.4
* New: Add lightbox on thumbnails if theme supports wc-product-gallery-lightbox.
* Fix: Remove orphaned child products from cart if parent container is removed.
* Fix: Update Product Addons totals when quantity config changes.
* Tweak: Switch mnm-quantity class to itself.
2020.05.08 - version 1.9.3
* Update: Tested up to WooCommerce 4.1.0.
* Fix: Child products losing style indent when cart it updated.
* Tweak: Stop center-aligning product details. Inherit styles from theme.
2020.04.23 - version 1.9.2
* Fix: Check if cart is set before trying to access cart_contents.
* Fix: Use native functions to get parent container versus searching cart directly.
* Tweak: Add product_id as data attribute to add to cart button, to help some themes that add ajax add to cart.
* Tweak: Auto load certain properties if not defined.
* Tweak: Instead of resetting to minium quantity value, set to original value attribute.
* Tweak: Add broader support for checkbox/dropdown input types.
2020.04.11 - version 1.9.1
* New: add wc_mnm_before_sync hook
* New: Prepare for compatibility with PayPal Express Smart buttons when PayPal Express gateway plugin updates.
* Fix: Fix broken woocommerce_product_add_to_cart_text core filter.
* Tweak: Simplify error message HTML markup in mnm-add-to-cart-wrap.php template.
* Tweak: Hide error message on load if JS is enabled.
* Dev: Add configuration to add to cart button as data attribute for potential ajax add to cart usage.
2020.03.20 - version 1.9.0
* Update: Tested up to WooCommerce 4.0.0.
* Fix: Script errors when multiple forms are on the same page.
* New: Quantity inputs are empty by default, use WC4 placeholders.
* New: Filter for getting the posted configuration.
* New: Dynamic filter for validating container based on context.
* New: Script supports passing custom configuration when triggering container update.
* New: Filter the child item's configuration data.
* Fix: Check child cart item is set in cart before accessing.
2020.01.06 - version 1.8.0
* Update: Tested up to WooCommerce 3.9.0.
* Fix: Add min/max size keys to WPML config.
* Fix: Fatal error when all child contents are out of stock and out of stock products are hidden.
* Fix: Fatal error calculating prices when all child contents are out of stock.
* Fix: Do not show add to cart button when no contents are available.
* Fix: Hide quantity inputs when the parent container is not available.
* New: Introduce woocommerce_mnm_content_loop hook.
2019.12.03 - version 1.7.2
* Fix min/max compat. Only restore original values when "ignore min/max" rules is set.
2019.11.19 - version 1.7.1
* Fix - Fatal error from incorrectly named Wishlists compatibility module.
* Update: Tested up to WooCommerce 3.7.0.
2019.10.23 - version 1.7.0
* New - Add ability to configure the contents of a Mix and Match container in editable/manually-created orders.
2019.08.06 - version 1.6.0
* Important - Added support for WooCommerce 3.7+.
* Important - PHP 5.6.20+ is now required.
* Fix: Incorrect error message when 1 quantity is selected.
* Fix: Manually trigger product type change event in metabox on load.
* Tweak - Ignore 'woocommerce_before_cart_item_quantity_zero' action under WC 3.7+.
2019.06.19 - version 1.5.1
* Fix: Print Invoice Compatibility - Do not remove bulk "Order #" headlines.
* Tweak: Limit Name Your Price checkbox display control via "per-item pricing" to only Mix and Match products.
2019.04.15 - version 1.5.0
* Important: Dropped support for WooCommerce 3.0.
* Important: Added support for WooCommerce 3.6+.
* Tweak: Removed old WooCommerce Helper dependencies.
* New: Stop saving "Part of" meta key. Use `add_filter( 'woocommerce_mnm_order_item_legacy_part_of_meta', '__return_true' );` to continue saving.
* Fix: Correct discount calculations when not discounting product from regular price.
2019.03.22 - version 1.4.2
* Fix: Incorrect display in WooCommerce Print Invoices & Packing Lists
2019.02.26 - version 1.4.1
* New: Script auto-support any quantity type input
* Fix: Script errors for custom quantity config
* Fix: Script error for left/right space currency settings
2019.02.22 - version 1.4.0
* NOTICE: Add to cart script heavily refactored. If extending, please test integrations in staging environment before updating.
* New: Support a percentage container discount when in per-item pricing mode.
* New: Ability to edit a container's configruation from the cart.
* New: WooCommerce Print Invoices & Packing Lists compatibility.
* New: Scripts support handling of price suffix with front-end calculation of taxes.
* New: Filter woocommerce_mnm_child_quantity_input_args to change args for only Mix and Matched item quantity selector.
* Fix: Order Again support for WooCommerce 3.5 .
* Fix: Add discount, layout, form location fields to import/export.
* Fix: Handling of Mix and Match content data during import/export.
* Fix: Incorrect price strings in certain instances
* Tweak: Vertical alignment of quantity inputs
2018.11.04 - version 1.3.4
* Fix: Fatal error with Product Addons 3.0, insufficient arguments passed to woocommerce_add_cart_item_data
* Fix: Fatal call to undefined method error on product save when updating constant is defined.
* Fix: Hide reset link when item has not been configured
2018.07.09 - version 1.3.3
* New: Cache calculated prices at runtime
* New: Add content in WP Privacy Policy Guide
* Fix: Replace deprecated WC()->cart->get_cart_url()
* Fix: Explicitly declare grid style inputs as block elements for theme's that don't
* Fix: Add missing parameters to 'woocommerce_get_price_suffix' filter
* Fix: Mobile cart styles
* Tweak: Change thumbnail size to woocommerce_thumbnail.
2018.05.04 - version 1.3.2
* Fix: Replace deprecated WC()->cart->get_cart_url()
2018.05.02 - version 1.3.1
* New: Added woocommerce_mnm_tabular_column_headers filter to control table column headers
2018.04.09 - version 1.3.0
* Important - WooCommerce 2.X support dropped
* New: New layout option, Grid layout!
* New: New option for changing location of add to cart form.
* New: Add support for WooCommerce product import/export.
* Fix: wc_get_product() should include Mix and Match products
* Fix: Shipstation integration.
* Fix: Add blog ID to background updater to resolbve issues with DB updating in a WP MultiSite environment - see https://github.com/woocommerce/woocommerce/pull/18060
* Fix: Remove
Testimonials
Benny O'Brien@benny_obie
The quick response from a friendly team member at @effectioshop honestly caught me off guard. Nice work!