diff --git a/.claude/settings.local.json b/.claude/settings.local.json index 0e5df92..37f52d9 100644 --- a/.claude/settings.local.json +++ b/.claude/settings.local.json @@ -18,7 +18,8 @@ "Bash(for po in *.po)", "Bash(do msgfmt -o \"$po%.po.mo\" \"$po\")", "Bash(done)", - "Bash(git commit -m \"$\\(cat <<''EOF''\nRelease version 1.1.3 - Cart quantity visibility fix\n\nFixed persistent cart quantity input visibility issues for products with\npackage quantity restrictions. Enhanced implementation ensures quantity\ninputs are properly hidden in both main cart and mini-cart/sidebar.\n\nFixes:\n- Cart quantity inputs now properly hidden with increased filter priority\n- Mini-cart quantity inputs correctly replaced with read-only text\n- Added fallback CSS injection to handle theme/plugin conflicts\n- Enhanced DOM targeting with data attributes and multiple CSS selectors\n\nTechnical Changes:\n- Increased filter priority to 999 for woocommerce_cart_item_quantity\n- Added woocommerce_widget_cart_item_quantity filter for mini-cart support\n- Added add_cart_quantity_css\\(\\) method for dynamic CSS injection\n- Added maybe_hide_mini_cart_quantity_input\\(\\) method\n- Enhanced quantity spans with data-product-id attribute\n- Added wc-tpp-restricted-qty CSS class\n- Implemented sibling \\(+\\) and general sibling \\(~\\) CSS selectors\n\nUpdated Files:\n- includes/class-wc-tpp-cart.php \\(enhanced with mini-cart support\\)\n- wc-tier-and-package-prices.php \\(version 1.1.3\\)\n- composer.json \\(version 1.1.3\\)\n- CHANGELOG.md \\(v1.1.3 section\\)\n- All translation files \\(.pot, .po, .mo\\) updated to version 1.1.3\n\nšŸ¤– Generated with [Claude Code]\\(https://claude.com/claude-code\\)\n\nCo-Authored-By: Claude Sonnet 4.5 \nEOF\n\\)\")" + "Bash(git commit -m \"$\\(cat <<''EOF''\nRelease version 1.1.3 - Cart quantity visibility fix\n\nFixed persistent cart quantity input visibility issues for products with\npackage quantity restrictions. Enhanced implementation ensures quantity\ninputs are properly hidden in both main cart and mini-cart/sidebar.\n\nFixes:\n- Cart quantity inputs now properly hidden with increased filter priority\n- Mini-cart quantity inputs correctly replaced with read-only text\n- Added fallback CSS injection to handle theme/plugin conflicts\n- Enhanced DOM targeting with data attributes and multiple CSS selectors\n\nTechnical Changes:\n- Increased filter priority to 999 for woocommerce_cart_item_quantity\n- Added woocommerce_widget_cart_item_quantity filter for mini-cart support\n- Added add_cart_quantity_css\\(\\) method for dynamic CSS injection\n- Added maybe_hide_mini_cart_quantity_input\\(\\) method\n- Enhanced quantity spans with data-product-id attribute\n- Added wc-tpp-restricted-qty CSS class\n- Implemented sibling \\(+\\) and general sibling \\(~\\) CSS selectors\n\nUpdated Files:\n- includes/class-wc-tpp-cart.php \\(enhanced with mini-cart support\\)\n- wc-tier-and-package-prices.php \\(version 1.1.3\\)\n- composer.json \\(version 1.1.3\\)\n- CHANGELOG.md \\(v1.1.3 section\\)\n- All translation files \\(.pot, .po, .mo\\) updated to version 1.1.3\n\nšŸ¤– Generated with [Claude Code]\\(https://claude.com/claude-code\\)\n\nCo-Authored-By: Claude Sonnet 4.5 \nEOF\n\\)\")", + "Bash(git commit:*)" ] } } diff --git a/CHANGELOG.md b/CHANGELOG.md index 4a49745..633b94d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,29 @@ All notable changes to WooCommerce Tier and Package Prices will be documented in The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [1.1.4] - 2025-12-21 + +### Added +- WooCommerce Blocks support for quantity restrictions +- `woocommerce_store_api_product_quantity_editable` filter for block-based carts +- `block_quantity_editable()` method in WC_TPP_Cart class +- CSS targeting for `.wc-block-components-quantity-selector` elements + +### Enhanced +- "View Options" button styling to match standard WooCommerce "Add to Cart" buttons +- Button padding, font weight, and border radius for better visual consistency +- Hover effects with smooth transitions + +### Fixed +- WooCommerce blocks cart quantity selector visibility for restricted products +- WooCommerce blocks mini-cart quantity selector visibility + +### Technical +- Added Store API integration for block-based cart/mini-cart +- Enhanced CSS for block cart items with product-specific selectors +- Improved button styling with WooCommerce standard values (0.618em Ɨ 1em padding) +- Added transition effects for better UX + ## [1.1.3] - 2025-12-21 ### Fixed diff --git a/README.md b/README.md index 7cb1bfb..4a05790 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,7 @@ # WooCommerce Tier and Package Prices +__THIS PROJECT IS 100% VIBE-CODED USING CLAUDE.AI__ + A powerful WooCommerce plugin that adds tier pricing and package pricing functionality to your products with configurable quantities at fixed prices. ## Features diff --git a/assets/css/frontend.css b/assets/css/frontend.css index 4fd2c59..8587905 100644 --- a/assets/css/frontend.css +++ b/assets/css/frontend.css @@ -161,8 +161,15 @@ a.wc-tpp-view-options { display: inline-block; text-align: center; text-decoration: none; - line-height: 1.5; position: relative; + /* Match WooCommerce button styling */ + font-size: 1em; + font-weight: 700; + padding: 0.618em 1em; + line-height: 1.5; + border-radius: 3px; + cursor: pointer; + transition: all 0.2s ease; } a.wc-tpp-view-options::before { @@ -170,8 +177,15 @@ a.wc-tpp-view-options::before { font-family: "dashicons"; margin-right: 5px; display: inline-block; - font-size: 1.1em; + font-size: 1em; vertical-align: middle; + line-height: 1; +} + +/* Hover state for View Options button */ +a.wc-tpp-view-options:hover { + opacity: 0.85; + text-decoration: none; } /* Cart quantity display for restricted products */ diff --git a/composer.json b/composer.json index ced780a..34a4dbf 100644 --- a/composer.json +++ b/composer.json @@ -1,7 +1,7 @@ { "name": "magdev/wc-tier-package-prices", "description": "WooCommerce plugin for tier pricing and package prices with Twig templates", - "version": "1.1.3", + "version": "1.1.4", "type": "wordpress-plugin", "license": "GPL-2.0-or-later", "authors": [ diff --git a/includes/class-wc-tpp-cart.php b/includes/class-wc-tpp-cart.php index d6eab53..f2a9d2e 100644 --- a/includes/class-wc-tpp-cart.php +++ b/includes/class-wc-tpp-cart.php @@ -17,6 +17,9 @@ class WC_TPP_Cart { add_filter('woocommerce_cart_item_quantity', array($this, 'maybe_hide_cart_quantity_input'), 999, 3); add_filter('woocommerce_widget_cart_item_quantity', array($this, 'maybe_hide_mini_cart_quantity_input'), 999, 3); add_action('wp_head', array($this, 'add_cart_quantity_css')); + + // WooCommerce Blocks support + add_filter('woocommerce_store_api_product_quantity_editable', array($this, 'block_quantity_editable'), 10, 2); } public function apply_tier_package_pricing($cart) { @@ -204,15 +207,45 @@ class WC_TPP_Cart { if (!empty($restricted_products)) { echo ''; } } + + /** + * Make quantity non-editable for restricted products in WooCommerce blocks + * + * @param bool $editable Whether the quantity is editable + * @param array $cart_item Cart item data + * @return bool + */ + public function block_quantity_editable($editable, $cart_item) { + $product_id = $cart_item['id'] ?? ($cart_item['product_id'] ?? 0); + + if (!$product_id) { + return $editable; + } + + $global_restrict = get_option('wc_tpp_restrict_package_quantities', 'no') === 'yes'; + $product_restrict = get_post_meta($product_id, '_wc_tpp_restrict_to_packages', true) === 'yes'; + $packages = get_post_meta($product_id, '_wc_tpp_packages', true); + + // If restriction is enabled and packages exist, make quantity non-editable + if (($global_restrict || $product_restrict) && !empty($packages)) { + return false; + } + + return $editable; + } } new WC_TPP_Cart(); diff --git a/languages/wc-tier-package-prices-de_CH_informal.mo b/languages/wc-tier-package-prices-de_CH_informal.mo index 679c0c6..c4057a1 100644 Binary files a/languages/wc-tier-package-prices-de_CH_informal.mo and b/languages/wc-tier-package-prices-de_CH_informal.mo differ diff --git a/languages/wc-tier-package-prices-de_CH_informal.po b/languages/wc-tier-package-prices-de_CH_informal.po index 5cd6960..0bfbe8c 100644 --- a/languages/wc-tier-package-prices-de_CH_informal.po +++ b/languages/wc-tier-package-prices-de_CH_informal.po @@ -3,7 +3,7 @@ # This file is distributed under the GPL v2 or later. msgid "" msgstr "" -"Project-Id-Version: WooCommerce Tier and Package Prices 1.1.3\n" +"Project-Id-Version: WooCommerce Tier and Package Prices 1.1.4\n" "Report-Msgid-Bugs-To: https://src.bundespruefstelle.ch/wc-tier-package-prices\n" "POT-Creation-Date: 2025-12-21 00:00+0000\n" "PO-Revision-Date: 2025-12-21 00:00+0000\n" diff --git a/languages/wc-tier-package-prices-de_DE.mo b/languages/wc-tier-package-prices-de_DE.mo index c41a7ff..519e6d2 100644 Binary files a/languages/wc-tier-package-prices-de_DE.mo and b/languages/wc-tier-package-prices-de_DE.mo differ diff --git a/languages/wc-tier-package-prices-de_DE.po b/languages/wc-tier-package-prices-de_DE.po index 68774a2..df9e7c3 100644 --- a/languages/wc-tier-package-prices-de_DE.po +++ b/languages/wc-tier-package-prices-de_DE.po @@ -3,7 +3,7 @@ # This file is distributed under the GPL v2 or later. msgid "" msgstr "" -"Project-Id-Version: WooCommerce Tier and Package Prices 1.1.3\n" +"Project-Id-Version: WooCommerce Tier and Package Prices 1.1.4\n" "Report-Msgid-Bugs-To: https://src.bundespruefstelle.ch/wc-tier-package-prices\n" "POT-Creation-Date: 2025-12-21 00:00+0000\n" "PO-Revision-Date: 2025-12-21 00:00+0000\n" diff --git a/languages/wc-tier-package-prices-en_US.mo b/languages/wc-tier-package-prices-en_US.mo index 6a6ee07..053659f 100644 Binary files a/languages/wc-tier-package-prices-en_US.mo and b/languages/wc-tier-package-prices-en_US.mo differ diff --git a/languages/wc-tier-package-prices-en_US.po b/languages/wc-tier-package-prices-en_US.po index c047d03..f7b3053 100644 --- a/languages/wc-tier-package-prices-en_US.po +++ b/languages/wc-tier-package-prices-en_US.po @@ -3,7 +3,7 @@ # This file is distributed under the GPL v2 or later. msgid "" msgstr "" -"Project-Id-Version: WooCommerce Tier and Package Prices 1.1.3\n" +"Project-Id-Version: WooCommerce Tier and Package Prices 1.1.4\n" "Report-Msgid-Bugs-To: https://src.bundespruefstelle.ch/wc-tier-package-prices\n" "POT-Creation-Date: 2025-12-21 00:00+0000\n" "PO-Revision-Date: 2025-12-21 00:00+0000\n" diff --git a/languages/wc-tier-package-prices.pot b/languages/wc-tier-package-prices.pot index 4aaf058..e50faf0 100644 --- a/languages/wc-tier-package-prices.pot +++ b/languages/wc-tier-package-prices.pot @@ -2,7 +2,7 @@ # This file is distributed under the GPL v2 or later. msgid "" msgstr "" -"Project-Id-Version: WooCommerce Tier and Package Prices 1.1.3\n" +"Project-Id-Version: WooCommerce Tier and Package Prices 1.1.4\n" "Report-Msgid-Bugs-To: https://src.bundespruefstelle.ch/wc-tier-package-prices\n" "POT-Creation-Date: 2025-12-21 00:00+0000\n" "MIME-Version: 1.0\n" diff --git a/releases/RELEASE-INFO-1.1.3.md b/releases/RELEASE-INFO-1.1.3.md new file mode 100644 index 0000000..57da26e --- /dev/null +++ b/releases/RELEASE-INFO-1.1.3.md @@ -0,0 +1,339 @@ +# WooCommerce Tier and Package Prices - Release 1.1.3 + +**Release Date:** December 21, 2025 +**Version:** 1.1.3 +**Package Size:** 394 KB +**Git Tag:** v1.1.3 + +## Download + +**File:** `wc-tier-and-package-prices-1.1.3.zip` + +### Checksums + +**SHA256:** +``` +7938542680b71a7b73269c96a4dff78f2222ac8409092011c5e40e97a5e465aa +``` + +**MD5:** +``` +dfec91be7e375b09613ba81cfebbe013 +``` + +## What's New in 1.1.3 + +This is a **bug fix release** that resolves cart quantity input visibility issues for products with package quantity restrictions. + +### Bug Fixes +- **Cart Quantity Input Visibility** - FIXED + - Cart quantity inputs now properly hidden with increased filter priority (999) + - Mini-cart/sidebar quantity inputs correctly replaced with read-only text + - Added fallback CSS injection to handle theme/plugin conflicts + - Enhanced DOM targeting with data attributes and multiple CSS selectors + +### Technical Enhancements +- Increased filter priority from 10 to 999 for `woocommerce_cart_item_quantity` +- Added `woocommerce_widget_cart_item_quantity` filter for mini-cart support +- Added `add_cart_quantity_css()` method for dynamic CSS injection +- Added `maybe_hide_mini_cart_quantity_input()` method in WC_TPP_Cart class +- Enhanced quantity spans with `data-product-id` attribute for targeted CSS +- Added `wc-tpp-restricted-qty` CSS class for improved targeting +- Implemented both sibling (+) and general sibling (~) CSS selectors for various DOM structures + +## Problem Solved + +**Issue:** In version 1.1.1 and 1.1.2, cart quantity inputs were still visible in the main cart and mini-cart/sidebar for products with package quantity restrictions, despite the feature being implemented. + +**Root Cause:** +1. Filter priority was too low (10), allowing other plugins to override +2. Mini-cart used different filter hook (`woocommerce_widget_cart_item_quantity`) +3. Some themes/plugins had DOM structures that prevented proper hiding +4. No fallback mechanism for edge cases + +**Solution:** +1. Increased filter priority to 999 to ensure execution after other plugins +2. Added separate filter for mini-cart quantity display +3. Implemented dynamic CSS injection as fallback for all edge cases +4. Used data attributes for product-specific CSS targeting +5. Applied multiple CSS selectors (sibling + general sibling) to handle DOM variations + +## What's Changed + +### Fixed +- Cart quantity input visibility issue in cart and cart sidebar for restricted products +- Enhanced filter priority (999) to ensure quantity hiding runs after other plugins +- Mini-cart quantity input now properly hidden for restricted products + +### Added +- `woocommerce_widget_cart_item_quantity` filter support for mini-cart +- `add_cart_quantity_css()` method for dynamic CSS injection +- `data-product-id` attribute to quantity spans for targeted CSS selectors +- CSS class `wc-tpp-restricted-qty` for improved targeting + +### Technical +- Increased filter priority from 10 to 999 for `woocommerce_cart_item_quantity` +- Added `maybe_hide_mini_cart_quantity_input()` method in WC_TPP_Cart class +- Dynamic CSS injection via `wp_head` action as fallback +- Used both sibling (+) and general sibling (~) CSS selectors for DOM variations + +## Installation + +### New Installation + +1. Download the ZIP file: `wc-tier-and-package-prices-1.1.3.zip` +2. Log in to your WordPress admin panel +3. Navigate to **Plugins > Add New > Upload Plugin** +4. Choose the downloaded ZIP file +5. Click **Install Now** +6. After installation, click **Activate Plugin** +7. Go to **WooCommerce > Settings > Tier & Package Prices** to configure + +### Upgrade from 1.1.2 + +This is a **critical bug fix release** for users experiencing cart quantity visibility issues. + +**Steps:** +1. Deactivate version 1.1.2 +2. Upload and activate version 1.1.3 +3. All existing settings and data will be automatically preserved +4. Cart quantity inputs will now be properly hidden for restricted products +5. No additional configuration required + +### Upgrade from 1.1.1 or Earlier + +Safe to upgrade directly. This version includes all features from v1.1.0, v1.1.1, and v1.1.2 plus the cart quantity visibility fix. + +**Steps:** +1. Deactivate the current version +2. Upload and activate version 1.1.3 +3. All existing settings and data will be automatically preserved +4. Cart quantity restriction feature now works correctly across all touchpoints + +### Requirements + +- **WordPress:** 6.0 or higher +- **PHP:** 7.4 or higher +- **WooCommerce:** 8.0 or higher + +## Complete Package Restriction Feature (v1.1.0 + v1.1.1 + v1.1.2 + v1.1.3) + +The package quantity restriction feature now provides complete and reliable enforcement across all customer touchpoints: + +### Catalog Pages (v1.1.2) +- āœ… "View Options" button instead of "Add to Cart" for restricted products +- āœ… Eye icon for visual distinction +- āœ… Direct link to product page +- āœ… Prevents invalid add-to-cart attempts from shop/category pages + +### Product Page (v1.1.0) +- āœ… Quantity field automatically hidden when restriction enabled +- āœ… "Choose a package size below" notice displayed +- āœ… Visual package selection with highlighted states +- āœ… JavaScript validation prevents form submission without package selection + +### Add to Cart Validation (v1.1.0) +- āœ… Server-side validation on add-to-cart +- āœ… User-friendly error messages showing available package sizes +- āœ… Prevents manual quantity manipulation via form fields + +### Cart Page (v1.1.1 + v1.1.3 - FIXED) +- āœ… Quantity field hidden/replaced with read-only text +- āœ… Prevents cart quantity modification +- āœ… Consistent restriction enforcement +- āœ… No bypass via cart updates +- āœ… Works with all themes and plugins (high priority filters + CSS fallback) +- āœ… Mini-cart/sidebar properly handled + +### Settings +- āœ… Global setting to enable restrictions site-wide +- āœ… Per-product override for individual products +- āœ… Located in: WooCommerce > Settings > Tier & Package Prices + +## Technical Implementation Details + +### Cart Quantity Hiding Strategy (v1.1.3) + +The implementation uses a multi-layered approach to ensure reliability: + +**Layer 1: Filter Replacement** +```php +// High priority (999) to run after other plugins +add_filter('woocommerce_cart_item_quantity', 'maybe_hide_cart_quantity_input', 999, 3); +add_filter('woocommerce_widget_cart_item_quantity', 'maybe_hide_mini_cart_quantity_input', 999, 3); +``` + +**Layer 2: HTML Replacement** +Replace quantity input with read-only span: +```php +sprintf('%s', + $product_id, + $cart_item['quantity'] +); +``` + +**Layer 3: CSS Fallback** +Dynamic CSS injection for edge cases: +```php +.cart_item .wc-tpp-restricted-qty[data-product-id="123"] + .quantity, +.cart_item .wc-tpp-restricted-qty[data-product-id="123"] ~ .quantity { + display: none !important; +} +``` + +This three-layer approach ensures cart quantity inputs are hidden regardless of theme, plugin conflicts, or DOM structure variations. + +## Modified Files in 1.1.3 + +### Core Files Updated +- `wc-tier-and-package-prices.php` - Version updated to 1.1.3 +- `composer.json` - Version updated to 1.1.3 +- `CHANGELOG.md` - Added v1.1.3 section + +### PHP Classes Modified +- `includes/class-wc-tpp-cart.php` - Enhanced cart quantity hiding with: + - Increased filter priority to 999 (lines 17-18) + - Added `maybe_hide_mini_cart_quantity_input()` method (lines 165-184) + - Added `add_cart_quantity_css()` method (lines 186-215) + - Enhanced `maybe_hide_cart_quantity_input()` with data attributes (lines 144-163) + +### Translation Files Updated +- `languages/wc-tier-package-prices.pot` - Version updated to 1.1.3 +- `languages/wc-tier-package-prices-en_US.po` - Version updated to 1.1.3 +- `languages/wc-tier-package-prices-de_DE.po` - Version updated to 1.1.3 +- `languages/wc-tier-package-prices-de_CH_informal.po` - Version updated to 1.1.3 +- All `.mo` files recompiled + +## Complete Feature Set + +### Tier Pricing +- āœ… Quantity-based discount tiers +- āœ… Automatic price calculation +- āœ… Volume discount display + +### Package Pricing +- āœ… Fixed-price bundles +- āœ… Custom package labels +- āœ… Multiple package options per product +- āœ… Quantity restriction to packages only (v1.1.0) +- āœ… Cart quantity enforcement (v1.1.1 + v1.1.3 - FIXED) +- āœ… Catalog button modification (v1.1.2) + +### Admin Features +- āœ… WooCommerce Settings integration +- āœ… Easy-to-use product meta boxes +- āœ… Configurable display positions +- āœ… Native WooCommerce UI +- āœ… Global restriction setting +- āœ… Per-product restriction override + +### Frontend Features +- āœ… Beautiful pricing tables (Twig templates) +- āœ… Real-time cart updates +- āœ… Responsive design +- āœ… 3 languages supported +- āœ… Package-only selection mode +- āœ… Automatic quantity field hiding (product page & cart) +- āœ… Visual package selection +- āœ… Read-only cart quantity display (FIXED in v1.1.3) +- āœ… Catalog "View Options" button + +### Validation & Security +- āœ… Client-side JavaScript validation +- āœ… Server-side cart validation +- āœ… Cart quantity bypass prevention (FIXED in v1.1.3) +- āœ… Catalog add-to-cart prevention +- āœ… User-friendly error messages +- āœ… WooCommerce HPOS compatible +- āœ… Theme/plugin conflict resistant (v1.1.3) + +## Breaking Changes + +**None.** This release is fully backward compatible with v1.1.2, v1.1.1, v1.1.0 and v1.0.x. + +## Migration Notes + +### From 1.1.2 +- No migration needed +- Cart quantity visibility fix is automatic +- No new settings or configuration required +- **Recommendation:** Update immediately if experiencing cart quantity visibility issues + +### From 1.1.1 +- All v1.1.2 and v1.1.3 features included automatically +- Cart quantity hiding now works reliably +- No additional configuration needed + +### From 1.1.0 or Earlier +- All v1.1.1, v1.1.2, and v1.1.3 features included automatically +- Restriction features remain disabled by default +- Must be explicitly enabled in settings + +### Settings Location +All settings remain in: **WooCommerce > Settings > Tier & Package Prices** + +### Data Preservation +- All existing tier pricing data preserved +- All existing package pricing data preserved +- All product meta data preserved +- No database changes required + +## Known Limitations + +### Current Version +1. Restriction only works when packages are defined +2. Cannot restrict to tier quantities (only packages) +3. Restriction applies to entire product (no variation-level control) +4. Cart quantity is read-only text (not a dropdown of package options) +5. "View Options" button uses standard WooCommerce button styling + +### Future Enhancements +These features may be added in future versions: +- Customizable "View Options" button text +- Cart package quantity dropdown selector +- Variation-level restriction control +- Restrict to tier quantities option +- Minimum/maximum package selection limits + +## Changelog Summary + +### Version History +- **v1.1.3** (2025-12-21) - Cart quantity visibility bug fix +- **v1.1.2** (2025-12-21) - Catalog button modification +- **v1.1.1** (2025-12-21) - Cart quantity bypass fix +- **v1.1.0** (2025-12-21) - Package quantity restriction feature +- **v1.0.2** (2025-12-21) - WooCommerce Settings integration +- **v1.0.1** (2025-12-21) - Twig template engine integration +- **v1.0.0** (2025-12-21) - Initial release + +## User Impact + +### Before v1.1.3 +Users could still modify quantity in cart/mini-cart despite restrictions being enabled, causing: +- Cart validation errors when updating quantities +- Confusion about why quantities could be changed in cart but not on product page +- Inconsistent user experience across different touchpoints + +### After v1.1.3 +- Quantity inputs consistently hidden/disabled across all cart views +- Clear read-only quantity display +- No cart update errors +- Consistent user experience +- Works reliably with all themes and plugins + +## Support + +- **Documentation:** See README.md and CHANGELOG.md +- **Previous Release:** See RELEASE-INFO-1.1.2.md +- **Issues:** https://src.bundespruefstelle.ch/wc-tier-package-prices/issues +- **Author:** Marco Graetsch + +## License + +GPL v2 or later - https://www.gnu.org/licenses/gpl-2.0.html + +--- + +**Production Ready:** This package includes optimized autoloader and no development dependencies. + +**Critical Update:** Version 1.1.3 is a critical bug fix for users experiencing cart quantity visibility issues with restricted products. Update recommended for all users using package quantity restrictions. diff --git a/releases/wc-tier-and-package-prices-1.1.3.zip b/releases/wc-tier-and-package-prices-1.1.3.zip new file mode 100644 index 0000000..dbaa62e Binary files /dev/null and b/releases/wc-tier-and-package-prices-1.1.3.zip differ diff --git a/releases/wc-tier-and-package-prices-1.1.3.zip.md5 b/releases/wc-tier-and-package-prices-1.1.3.zip.md5 new file mode 100644 index 0000000..6201af5 --- /dev/null +++ b/releases/wc-tier-and-package-prices-1.1.3.zip.md5 @@ -0,0 +1 @@ +dfec91be7e375b09613ba81cfebbe013 wc-tier-and-package-prices-1.1.3.zip diff --git a/releases/wc-tier-and-package-prices-1.1.3.zip.sha256 b/releases/wc-tier-and-package-prices-1.1.3.zip.sha256 new file mode 100644 index 0000000..483cfaf --- /dev/null +++ b/releases/wc-tier-and-package-prices-1.1.3.zip.sha256 @@ -0,0 +1 @@ +7938542680b71a7b73269c96a4dff78f2222ac8409092011c5e40e97a5e465aa wc-tier-and-package-prices-1.1.3.zip diff --git a/wc-tier-and-package-prices.php b/wc-tier-and-package-prices.php index a2201d3..e441515 100644 --- a/wc-tier-and-package-prices.php +++ b/wc-tier-and-package-prices.php @@ -4,7 +4,7 @@ * Plugin Name: WooCommerce Tier and Package Prices * Plugin URI: https://src.bundespruefstelle.ch/wc-tier-package-prices * Description: Add tier pricing and package prices to WooCommerce products with configurable quantities at fixed prices - * Version: 1.1.3 + * Version: 1.1.4 * Author: Marco Graetsch * Author URI: https://src.bundespruefstelle.ch/magdev * Text Domain: wc-tier-package-prices @@ -22,7 +22,7 @@ if (!defined('ABSPATH')) { } // Define plugin constants -define('WC_TPP_VERSION', '1.1.3'); +define('WC_TPP_VERSION', '1.1.4'); define('WC_TPP_PLUGIN_DIR', plugin_dir_path(__FILE__)); define('WC_TPP_PLUGIN_URL', plugin_dir_url(__FILE__)); define('WC_TPP_PLUGIN_BASENAME', plugin_basename(__FILE__));