Release version 1.2.2 - Admin UI bugfixes for variations

Fixed three bugs in variation pricing interface:
- Removed table borders for variation pricing to match WooCommerce UI style
- Added missing translations (Min Quantity, Price, Label) to all language files
- Fixed restrict_to_packages checkbox rendering in variation fields

🤖 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-29 20:53:23 +01:00
parent 415f39e826
commit ef314e36bc
20 changed files with 162 additions and 26 deletions

View File

@@ -5,6 +5,23 @@ 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/), 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). and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [1.2.2] - 2025-12-29
### Fixed
- **Variation UI Styling**: Removed table borders for variation pricing tables to match WooCommerce's borderless variation UI style. Added CSS rules specifically targeting `.wc-tpp-variation-pricing` tables to remove borders while keeping them for simple product tables.
- **Missing Translations**: Added missing admin template translations for "Min Quantity", "Price", and "Label (optional)" to all language files (de_DE, de_DE_informal, de_CH, de_CH_informal, fr_CH, it_CH, en_US). These strings were used in the variation admin UI added in v1.2.0 but weren't included in translation files.
- **Checkbox Rendering**: Fixed variation restriction checkbox rendering issue. The `wc_tpp_restrict_to_packages[]` checkbox in variation pricing fields was using a ternary expression that prevented proper checked state handling. Simplified to direct value assignment for WooCommerce's checkbox function to work correctly.
### Changed Files
- `assets/css/admin.css` - Added border removal for variation pricing tables
- `includes/class-wc-tpp-product-meta.php` - Fixed checkbox value parameter (line 213)
- `languages/*.po` - Added missing translation entries
- `languages/*.mo` - Recompiled from updated .po files
## [1.2.1] - 2025-12-29 ## [1.2.1] - 2025-12-29
### Fixed ### Fixed

View File

@@ -1,7 +1,7 @@
# WooCommerce Tier and Package Prices - AI Context Document # WooCommerce Tier and Package Prices - AI Context Document
**Last Updated:** 2025-12-29 **Last Updated:** 2025-12-29
**Current Version:** 1.2.1 **Current Version:** 1.2.2
**Author:** Marco Graetsch **Author:** Marco Graetsch
**Project Status:** Production-ready WordPress plugin **Project Status:** Production-ready WordPress plugin
@@ -564,6 +564,14 @@ Roadmap for the upcoming development.
2. ~~The tier and package prices are not shown on simple product pages~~**FIXED in v1.2.1** - Removed global enable/disable checks from frontend template. Pricing tables now display if configured on a product AND the "Display Pricing Table" setting is enabled, regardless of "Enable Tier Pricing" or "Enable Package Pricing" global settings. Cart calculations still respect global enable settings. 2. ~~The tier and package prices are not shown on simple product pages~~**FIXED in v1.2.1** - Removed global enable/disable checks from frontend template. Pricing tables now display if configured on a product AND the "Display Pricing Table" setting is enabled, regardless of "Enable Tier Pricing" or "Enable Package Pricing" global settings. Cart calculations still respect global enable settings.
##### Bugfixes (Completed in v1.2.2)
3. ~~Remove the table borders in admin on variable product to better fit the surrounding element styles.~~**FIXED in v1.2.2** - Added CSS rules to remove table borders specifically for variation pricing tables (`.wc-tpp-variation-pricing`), matching WooCommerce's borderless variation UI style.
4. ~~Add missing translations in admin templates ("Price", "Tier & Package Pricing", "Min Quantity") for all languages used in this project.~~**FIXED in v1.2.2** - Added missing translation entries for "Min Quantity", "Price", and "Label (optional)" to all .po files (de_DE, de_DE_informal, de_CH, de_CH_informal, fr_CH, it_CH, en_US) and recompiled .mo files.
5. ~~Check the template for wc_tpp_restrict_to_packages[] checkbox elements in admin on variable products and fix the rendering.~~**FIXED in v1.2.2** - Fixed checkbox value parameter in variation pricing fields. Changed from ternary expression to direct value assignment, allowing WooCommerce's `woocommerce_wp_checkbox()` to properly handle the checked state.
##### New Features ##### New Features
1. Create different, selectable templates for tierprices and packages to use in the frontend. Make the new templates selectable globally on the settings-page, not per product. 1. Create different, selectable templates for tierprices and packages to use in the frontend. Make the new templates selectable globally on the settings-page, not per product.

View File

@@ -36,6 +36,19 @@
text-align: left; text-align: left;
} }
/* Remove borders for variation pricing tables to match WooCommerce variation UI style */
.wc-tpp-variation-pricing .wc-tpp-tiers-table,
.wc-tpp-variation-pricing .wc-tpp-packages-table {
border: none;
}
.wc-tpp-variation-pricing .wc-tpp-tiers-table th,
.wc-tpp-variation-pricing .wc-tpp-packages-table th,
.wc-tpp-variation-pricing .wc-tpp-tiers-table td,
.wc-tpp-variation-pricing .wc-tpp-packages-table td {
border: none;
}
/* Table row styling - rows are now <tr> elements in a table */ /* Table row styling - rows are now <tr> elements in a table */
.wc-tpp-tier-row, .wc-tpp-tier-row,
.wc-tpp-package-row { .wc-tpp-package-row {

View File

@@ -1,7 +1,7 @@
{ {
"name": "magdev/wc-tier-package-prices", "name": "magdev/wc-tier-package-prices",
"description": "WooCommerce plugin for tier pricing and package prices with Twig templates", "description": "WooCommerce plugin for tier pricing and package prices with Twig templates",
"version": "1.2.1", "version": "1.2.2",
"type": "wordpress-plugin", "type": "wordpress-plugin",
"license": "GPL-2.0-or-later", "license": "GPL-2.0-or-later",
"authors": [ "authors": [

View File

@@ -210,7 +210,7 @@ if (!class_exists('WC_TPP_Product_Meta')) {
'name' => 'wc_tpp_restrict_to_packages[' . $loop . ']', 'name' => 'wc_tpp_restrict_to_packages[' . $loop . ']',
'label' => __('Restrict to Package Quantities', 'wc-tier-package-prices'), 'label' => __('Restrict to Package Quantities', 'wc-tier-package-prices'),
'description' => __('Only allow quantities defined in packages above', 'wc-tier-package-prices'), 'description' => __('Only allow quantities defined in packages above', 'wc-tier-package-prices'),
'value' => $restrict === 'yes' ? 'yes' : 'no', 'value' => $restrict,
'cbvalue' => 'yes', 'cbvalue' => 'yes',
'wrapper_class' => 'form-row form-row-full' 'wrapper_class' => 'form-row form-row-full'
)); ));

View File

@@ -240,6 +240,20 @@ msgstr "Die Menge %1$d ist für %2$s nicht verfügbar. Bitte wählen Sie aus den
msgid "View Options" msgid "View Options"
msgstr "Optionen ansehen" msgstr "Optionen ansehen"
#: includes/class-wc-tpp-frontend.php:178
msgid "View options for %s" #: includes/class-wc-tpp-product-meta.php:36
msgstr "Optionen für %s ansehen" #: includes/class-wc-tpp-product-meta.php:140
msgid "Min Quantity"
msgstr "Mindestmenge"
#: includes/class-wc-tpp-product-meta.php:37
#: includes/class-wc-tpp-product-meta.php:141
#: includes/class-wc-tpp-product-meta.php:164
msgid "Price"
msgstr "Preis"
#: includes/class-wc-tpp-product-meta.php:38
#: includes/class-wc-tpp-product-meta.php:142
#: includes/class-wc-tpp-product-meta.php:165
msgid "Label (optional)"
msgstr "Beschriftung (optional)"

View File

@@ -240,6 +240,20 @@ msgstr "Die Menge %1$d ist für %2$s nicht verfügbar. Bitte wähle aus den verf
msgid "View Options" msgid "View Options"
msgstr "Optionen ansehen" msgstr "Optionen ansehen"
#: includes/class-wc-tpp-frontend.php:178
msgid "View options for %s" #: includes/class-wc-tpp-product-meta.php:36
msgstr "Optionen für %s ansehen" #: includes/class-wc-tpp-product-meta.php:140
msgid "Min Quantity"
msgstr "Mindestmenge"
#: includes/class-wc-tpp-product-meta.php:37
#: includes/class-wc-tpp-product-meta.php:141
#: includes/class-wc-tpp-product-meta.php:164
msgid "Price"
msgstr "Preis"
#: includes/class-wc-tpp-product-meta.php:38
#: includes/class-wc-tpp-product-meta.php:142
#: includes/class-wc-tpp-product-meta.php:165
msgid "Label (optional)"
msgstr "Beschriftung (optional)"

View File

@@ -240,6 +240,20 @@ msgstr "Die Menge %1$d ist für %2$s nicht verfügbar. Bitte wählen Sie aus den
msgid "View Options" msgid "View Options"
msgstr "Optionen ansehen" msgstr "Optionen ansehen"
#: includes/class-wc-tpp-frontend.php:178
msgid "View options for %s" #: includes/class-wc-tpp-product-meta.php:36
msgstr "Optionen für %s ansehen" #: includes/class-wc-tpp-product-meta.php:140
msgid "Min Quantity"
msgstr "Mindestmenge"
#: includes/class-wc-tpp-product-meta.php:37
#: includes/class-wc-tpp-product-meta.php:141
#: includes/class-wc-tpp-product-meta.php:164
msgid "Price"
msgstr "Preis"
#: includes/class-wc-tpp-product-meta.php:38
#: includes/class-wc-tpp-product-meta.php:142
#: includes/class-wc-tpp-product-meta.php:165
msgid "Label (optional)"
msgstr "Beschriftung (optional)"

View File

@@ -240,6 +240,20 @@ msgstr "Die Menge %1$d ist für %2$s nicht verfügbar. Bitte wähle aus den verf
msgid "View Options" msgid "View Options"
msgstr "Optionen ansehen" msgstr "Optionen ansehen"
#: includes/class-wc-tpp-frontend.php:178
msgid "View options for %s" #: includes/class-wc-tpp-product-meta.php:36
msgstr "Optionen für %s ansehen" #: includes/class-wc-tpp-product-meta.php:140
msgid "Min Quantity"
msgstr "Mindestmenge"
#: includes/class-wc-tpp-product-meta.php:37
#: includes/class-wc-tpp-product-meta.php:141
#: includes/class-wc-tpp-product-meta.php:164
msgid "Price"
msgstr "Preis"
#: includes/class-wc-tpp-product-meta.php:38
#: includes/class-wc-tpp-product-meta.php:142
#: includes/class-wc-tpp-product-meta.php:165
msgid "Label (optional)"
msgstr "Beschriftung (optional)"

View File

@@ -240,6 +240,20 @@ msgstr "The quantity %1$d is not available for %2$s. Please choose from the avai
msgid "View Options" msgid "View Options"
msgstr "View Options" msgstr "View Options"
#: includes/class-wc-tpp-frontend.php:178
msgid "View options for %s" #: includes/class-wc-tpp-product-meta.php:36
msgstr "View options for %s" #: includes/class-wc-tpp-product-meta.php:140
msgid "Min Quantity"
msgstr "Min Quantity"
#: includes/class-wc-tpp-product-meta.php:37
#: includes/class-wc-tpp-product-meta.php:141
#: includes/class-wc-tpp-product-meta.php:164
msgid "Price"
msgstr "Price"
#: includes/class-wc-tpp-product-meta.php:38
#: includes/class-wc-tpp-product-meta.php:142
#: includes/class-wc-tpp-product-meta.php:165
msgid "Label (optional)"
msgstr "Label (optional)"

View File

@@ -240,6 +240,20 @@ msgstr "La quantité %1$d n'est pas disponible pour %2$s. Veuillez choisir parmi
msgid "View Options" msgid "View Options"
msgstr "Voir les options" msgstr "Voir les options"
#: includes/class-wc-tpp-frontend.php:178
msgid "View options for %s" #: includes/class-wc-tpp-product-meta.php:36
msgstr "Voir les options pour %s" #: includes/class-wc-tpp-product-meta.php:140
msgid "Min Quantity"
msgstr "Quantité minimale"
#: includes/class-wc-tpp-product-meta.php:37
#: includes/class-wc-tpp-product-meta.php:141
#: includes/class-wc-tpp-product-meta.php:164
msgid "Price"
msgstr "Prix"
#: includes/class-wc-tpp-product-meta.php:38
#: includes/class-wc-tpp-product-meta.php:142
#: includes/class-wc-tpp-product-meta.php:165
msgid "Label (optional)"
msgstr "Étiquette (optionnel)"

View File

@@ -240,6 +240,20 @@ msgstr "La quantità %1$d non è disponibile per %2$s. Si prega di scegliere tra
msgid "View Options" msgid "View Options"
msgstr "Visualizza opzioni" msgstr "Visualizza opzioni"
#: includes/class-wc-tpp-frontend.php:178
msgid "View options for %s" #: includes/class-wc-tpp-product-meta.php:36
msgstr "Visualizza opzioni per %s" #: includes/class-wc-tpp-product-meta.php:140
msgid "Min Quantity"
msgstr "Quantità minima"
#: includes/class-wc-tpp-product-meta.php:37
#: includes/class-wc-tpp-product-meta.php:141
#: includes/class-wc-tpp-product-meta.php:164
msgid "Price"
msgstr "Prezzo"
#: includes/class-wc-tpp-product-meta.php:38
#: includes/class-wc-tpp-product-meta.php:142
#: includes/class-wc-tpp-product-meta.php:165
msgid "Label (optional)"
msgstr "Etichetta (facoltativo)"

View File

@@ -4,7 +4,7 @@
* Plugin Name: WooCommerce Tier and Package Prices * Plugin Name: WooCommerce Tier and Package Prices
* Plugin URI: https://src.bundespruefstelle.ch/magdev/wc-tier-package-prices * Plugin URI: https://src.bundespruefstelle.ch/magdev/wc-tier-package-prices
* Description: Add tier pricing and package prices to WooCommerce products with configurable quantities at fixed prices * Description: Add tier pricing and package prices to WooCommerce products with configurable quantities at fixed prices
* Version: 1.2.1 * Version: 1.2.2
* Author: Marco Graetsch * Author: Marco Graetsch
* Author URI: https://src.bundespruefstelle.ch/magdev * Author URI: https://src.bundespruefstelle.ch/magdev
* Text Domain: wc-tier-package-prices * Text Domain: wc-tier-package-prices
@@ -23,7 +23,7 @@ if (!defined('ABSPATH')) {
// Define plugin constants // Define plugin constants
if (!defined('WC_TPP_VERSION')) { if (!defined('WC_TPP_VERSION')) {
define('WC_TPP_VERSION', '1.2.1'); define('WC_TPP_VERSION', '1.2.2');
} }
if (!defined('WC_TPP_PLUGIN_DIR')) { if (!defined('WC_TPP_PLUGIN_DIR')) {
define('WC_TPP_PLUGIN_DIR', plugin_dir_path(__FILE__)); define('WC_TPP_PLUGIN_DIR', plugin_dir_path(__FILE__));