Release version 1.1.0 - Package quantity restriction feature

Added comprehensive package quantity restriction functionality that allows
limiting product purchases to predefined package sizes only.

Features:
- Global setting to enable package quantity restrictions
- Per-product override for quantity restrictions
- Automatic hiding of quantity input field when restricted
- Frontend validation with package selection UI
- Server-side cart validation
- User-friendly error messages
- Complete translations for all supported languages

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
2025-12-21 15:54:04 +01:00
parent dea2c5f0b3
commit e0a32821ee
22 changed files with 699 additions and 54 deletions

View File

@@ -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.0.0\n"
"Project-Id-Version: WooCommerce Tier and Package Prices 1.1.0\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"
@@ -23,37 +23,81 @@ msgstr "WooCommerce Tier and Package Prices requires WooCommerce to be installed
#: includes/class-wc-tpp-admin.php:21
#: includes/class-wc-tpp-admin.php:22
#: includes/class-wc-tpp-settings.php:28
msgid "Tier & Package Prices"
msgstr "Tier & Package Prices"
#: includes/class-wc-tpp-settings.php:40
msgid "General"
msgstr "General"
#: includes/class-wc-tpp-settings.php:58
msgid "Tier & Package Prices Settings"
msgstr "Tier & Package Prices Settings"
#: includes/class-wc-tpp-settings.php:60
msgid "Configure tier pricing and package pricing options for your WooCommerce products."
msgstr "Configure tier pricing and package pricing options for your WooCommerce products."
#: includes/class-wc-tpp-admin.php:54
#: includes/class-wc-tpp-settings.php:65
msgid "Enable Tier Pricing"
msgstr "Enable Tier Pricing"
#: includes/class-wc-tpp-admin.php:58
#: includes/class-wc-tpp-settings.php:66
msgid "Enable tier pricing for products"
msgstr "Enable tier pricing for products"
#: includes/class-wc-tpp-settings.php:70
msgid "Allow quantity-based pricing tiers. Customers get discounted prices when buying in larger quantities."
msgstr "Allow quantity-based pricing tiers. Customers get discounted prices when buying in larger quantities."
#: includes/class-wc-tpp-admin.php:63
#: includes/class-wc-tpp-settings.php:74
msgid "Enable Package Pricing"
msgstr "Enable Package Pricing"
#: includes/class-wc-tpp-admin.php:67
#: includes/class-wc-tpp-settings.php:75
msgid "Enable fixed-price packages for products"
msgstr "Enable fixed-price packages for products"
#: includes/class-wc-tpp-settings.php:79
msgid "Allow fixed-price packages with specific quantities. For example: 10 pieces for $50, 25 pieces for $100."
msgstr "Allow fixed-price packages with specific quantities. For example: 10 pieces for $50, 25 pieces for $100."
#: includes/class-wc-tpp-admin.php:72
#: includes/class-wc-tpp-settings.php:83
msgid "Display Pricing Table"
msgstr "Display Pricing Table"
#: includes/class-wc-tpp-admin.php:76
#: includes/class-wc-tpp-settings.php:84
msgid "Show tier and package pricing table on product pages"
msgstr "Show tier and package pricing table on product pages"
#: includes/class-wc-tpp-settings.php:88
msgid "Display the pricing table to customers on product pages."
msgstr "Display the pricing table to customers on product pages."
#: includes/class-wc-tpp-admin.php:81
#: includes/class-wc-tpp-settings.php:92
msgid "Display Position"
msgstr "Display Position"
#: includes/class-wc-tpp-settings.php:93
msgid "Choose where to display the pricing table on product pages."
msgstr "Choose where to display the pricing table on product pages."
#: includes/class-wc-tpp-settings.php:101
msgid "Before Add to Cart Button"
msgstr "Before Add to Cart Button"
#: includes/class-wc-tpp-settings.php:102
msgid "After Add to Cart Button"
msgstr "After Add to Cart Button"
#: includes/class-wc-tpp-admin.php:85
msgid "Before Add to Cart"
msgstr "Before Add to Cart"
@@ -63,9 +107,23 @@ msgid "After Add to Cart"
msgstr "After Add to Cart"
#: includes/class-wc-tpp-admin.php:87
#: includes/class-wc-tpp-settings.php:103
msgid "After Price"
msgstr "After Price"
#: includes/class-wc-tpp-settings.php:108
#: includes/class-wc-tpp-product-meta.php:76
msgid "Restrict to Package Quantities"
msgstr "Restrict to Package Quantities"
#: includes/class-wc-tpp-settings.php:109
msgid "Limit quantities to defined package sizes only"
msgstr "Limit quantities to defined package sizes only"
#: includes/class-wc-tpp-settings.php:113
msgid "When enabled, customers can only purchase products in the exact quantities defined in packages. The quantity input field will be hidden and replaced with package selection buttons."
msgstr "When enabled, customers can only purchase products in the exact quantities defined in packages. The quantity input field will be hidden and replaced with package selection buttons."
#: includes/class-wc-tpp-product-meta.php:23
msgid "Tier Pricing"
msgstr "Tier Pricing"
@@ -90,6 +148,10 @@ msgstr "Set fixed-price packages with specific quantities. For example: 10 piece
msgid "Add Package"
msgstr "Add Package"
#: includes/class-wc-tpp-product-meta.php:77
msgid "Only allow quantities defined in packages above"
msgstr "Only allow quantities defined in packages above"
#: includes/class-wc-tpp-product-meta.php:90
msgid "Minimum Quantity"
msgstr "Minimum Quantity"
@@ -142,6 +204,10 @@ msgstr "You Save"
msgid "Package Deals"
msgstr "Package Deals"
#: templates/frontend/package-pricing-display.twig:11
msgid "Choose a package size below"
msgstr "Choose a package size below"
#: includes/class-wc-tpp-frontend.php:123
msgid "pieces"
msgstr "pieces"
@@ -161,3 +227,11 @@ msgstr "Package price"
#: includes/class-wc-tpp-cart.php:66
msgid "Volume discount"
msgstr "Volume discount"
#: includes/class-wc-tpp-cart.php:124
msgid "this product"
msgstr "this product"
#: includes/class-wc-tpp-cart.php:128
msgid "The quantity %1$d is not available for %2$s. Please choose from the available package sizes: %3$s"
msgstr "The quantity %1$d is not available for %2$s. Please choose from the available package sizes: %3$s"