You've already forked wc-tier-and-package-prices
Enhanced package quantity restriction enforcement by hiding the cart quantity input field when restrictions are enabled. This prevents customers from modifying quantities in the cart to bypass package restrictions. Changes: - Added cart quantity input hiding for restricted products - Implemented woocommerce_cart_item_quantity filter hook - Created maybe_hide_cart_quantity_input() method in WC_TPP_Cart - Fixed cart quantity bypass vulnerability - Cart displays quantity as read-only text for restricted products 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
125 lines
4.5 KiB
Markdown
125 lines
4.5 KiB
Markdown
# Changelog
|
|
|
|
All notable changes to WooCommerce Tier and Package Prices will be documented in this file.
|
|
|
|
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.1] - 2025-12-21
|
|
|
|
### Added
|
|
- Cart quantity field hiding when package restriction is enabled
|
|
- Automatic read-only quantity display in cart for restricted products
|
|
|
|
### Changed
|
|
- Cart quantity input replaced with plain text when restrictions apply
|
|
- Enhanced cart display to prevent quantity modification for restricted products
|
|
|
|
### Fixed
|
|
- Cart quantity bypass vulnerability for package-restricted products
|
|
|
|
### Technical
|
|
- Added `maybe_hide_cart_quantity_input()` method in WC_TPP_Cart class
|
|
- Extended `woocommerce_cart_item_quantity` filter hook
|
|
- CSS class `wc-tpp-cart-quantity` for styled quantity display
|
|
|
|
## [1.1.0] - 2025-12-21
|
|
|
|
### Added
|
|
- Package quantity restriction feature
|
|
- Global setting to restrict quantities to defined package sizes
|
|
- Per-product setting to restrict quantities to defined package sizes
|
|
- Frontend validation preventing non-package quantities
|
|
- Server-side cart validation for package quantities
|
|
- User-friendly error messages showing available package sizes
|
|
- Automatic quantity field hiding when restriction is enabled
|
|
- Package selection UI with highlighted states
|
|
|
|
### Changed
|
|
- Enhanced package pricing display template with restriction mode support
|
|
- Improved JavaScript to handle restricted mode package selection
|
|
- Updated frontend to show "Choose a package size below" notice in restricted mode
|
|
|
|
### Technical
|
|
- Added `validate_package_quantity()` method in WC_TPP_Cart class
|
|
- Added `maybe_hide_quantity_input()` method in WC_TPP_Frontend class
|
|
- Extended `woocommerce_add_to_cart_validation` filter hook
|
|
- Added `wc-tpp-restricted-mode` CSS class for styling
|
|
- New product meta: `_wc_tpp_restrict_to_packages`
|
|
- New global option: `wc_tpp_restrict_package_quantities`
|
|
|
|
### Translations
|
|
- Added 7 new translatable strings
|
|
- Updated all translations (en_US, de_DE, de_CH_informal)
|
|
- Compiled all .mo files with new strings
|
|
|
|
## [1.0.2] - 2025-12-21
|
|
|
|
### Changed
|
|
- Migrated settings to WooCommerce Settings page as dedicated tab
|
|
- Settings now appear under WooCommerce > Settings > Tier & Package Prices
|
|
- Improved integration with WooCommerce native settings API
|
|
|
|
### Added
|
|
- WC_TPP_Settings class extending WC_Settings_Page
|
|
- Better integration with WooCommerce settings system
|
|
- Consistent UI with other WooCommerce settings tabs
|
|
|
|
### Removed
|
|
- Standalone settings submenu (WooCommerce > Tier & Package Prices)
|
|
- Custom settings template (templates/admin/settings-page.twig)
|
|
|
|
### Technical
|
|
- Implemented WooCommerce settings filter hook (woocommerce_get_settings_pages)
|
|
- Uses WC_Admin_Settings for rendering and saving
|
|
- Automatic settings persistence via WooCommerce API
|
|
|
|
## [1.0.1] - 2025-12-21
|
|
|
|
### Added
|
|
- Twig template engine integration for all templates
|
|
- Template loader class with WordPress integration
|
|
- German (Switzerland, Informal) translation (de_CH_informal)
|
|
- Composer dependency management
|
|
- Comprehensive translation support in Twig templates
|
|
- Template caching support (disabled in debug mode)
|
|
|
|
### Changed
|
|
- Migrated all PHP templates to Twig format (.twig)
|
|
- Improved template organization and separation of concerns
|
|
- Enhanced security with automatic HTML escaping in templates
|
|
- Updated composer.json with complete package metadata
|
|
|
|
### Removed
|
|
- Old PHP template files (replaced with Twig)
|
|
|
|
### Technical
|
|
- Added Twig v3.22.2 dependency
|
|
- Created WC_TPP_Template_Loader class for centralized template rendering
|
|
- Integrated WordPress functions (__(), _e(), esc_*, wc_price()) into Twig
|
|
- Added Swiss German localization with informal address form
|
|
- Organized templates into admin/ and frontend/ directories
|
|
|
|
## [1.0.0] - 2025-12-21
|
|
|
|
### Added
|
|
- Initial release
|
|
- Tier pricing functionality (quantity-based discounts)
|
|
- Package pricing functionality (fixed-price bundles)
|
|
- Admin settings page for plugin configuration
|
|
- Product meta boxes for configuring tier and package prices
|
|
- Frontend pricing tables display
|
|
- Cart integration for automatic price calculation
|
|
- WooCommerce HPOS compatibility
|
|
- Multilingual support with text domain
|
|
- German (Germany) translation (de_DE)
|
|
- English (US) translation (en_US)
|
|
|
|
### Features
|
|
- Volume discounts based on quantity thresholds
|
|
- Fixed-price packages with custom labels
|
|
- Configurable display positions (before/after cart button, after price)
|
|
- Real-time price updates in cart
|
|
- Responsive pricing tables
|
|
- Admin-friendly interface for price management
|