diff --git a/CHANGELOG.md b/CHANGELOG.md index 7d45932..43a7ce1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -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/), 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 ### Fixed diff --git a/CLAUDE.md b/CLAUDE.md index cafdad7..528f2fb 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -1,7 +1,7 @@ # WooCommerce Tier and Package Prices - AI Context Document **Last Updated:** 2025-12-29 -**Current Version:** 1.2.1 +**Current Version:** 1.2.2 **Author:** Marco Graetsch **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. +##### 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 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. diff --git a/assets/css/admin.css b/assets/css/admin.css index 37e925f..edab391 100644 --- a/assets/css/admin.css +++ b/assets/css/admin.css @@ -36,6 +36,19 @@ 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 elements in a table */ .wc-tpp-tier-row, .wc-tpp-package-row { diff --git a/composer.json b/composer.json index 04c894d..b4fe4a4 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.2.1", + "version": "1.2.2", "type": "wordpress-plugin", "license": "GPL-2.0-or-later", "authors": [ diff --git a/includes/class-wc-tpp-product-meta.php b/includes/class-wc-tpp-product-meta.php index 11ea6a4..52cc2fa 100644 --- a/includes/class-wc-tpp-product-meta.php +++ b/includes/class-wc-tpp-product-meta.php @@ -210,7 +210,7 @@ if (!class_exists('WC_TPP_Product_Meta')) { 'name' => 'wc_tpp_restrict_to_packages[' . $loop . ']', 'label' => __('Restrict to Package Quantities', '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', 'wrapper_class' => 'form-row form-row-full' )); diff --git a/languages/wc-tier-package-prices-de_CH.mo b/languages/wc-tier-package-prices-de_CH.mo index cdf1fe0..102ccc0 100644 Binary files a/languages/wc-tier-package-prices-de_CH.mo and b/languages/wc-tier-package-prices-de_CH.mo differ diff --git a/languages/wc-tier-package-prices-de_CH.po b/languages/wc-tier-package-prices-de_CH.po index 25b78d8..ce42af0 100644 --- a/languages/wc-tier-package-prices-de_CH.po +++ b/languages/wc-tier-package-prices-de_CH.po @@ -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" msgstr "Optionen ansehen" -#: includes/class-wc-tpp-frontend.php:178 -msgid "View options for %s" -msgstr "Optionen für %s ansehen" + +#: includes/class-wc-tpp-product-meta.php:36 +#: 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)" diff --git a/languages/wc-tier-package-prices-de_CH_informal.mo b/languages/wc-tier-package-prices-de_CH_informal.mo index 3692735..bb2cca6 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 ac951f6..cc3b6eb 100644 --- a/languages/wc-tier-package-prices-de_CH_informal.po +++ b/languages/wc-tier-package-prices-de_CH_informal.po @@ -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" msgstr "Optionen ansehen" -#: includes/class-wc-tpp-frontend.php:178 -msgid "View options for %s" -msgstr "Optionen für %s ansehen" + +#: includes/class-wc-tpp-product-meta.php:36 +#: 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)" diff --git a/languages/wc-tier-package-prices-de_DE.mo b/languages/wc-tier-package-prices-de_DE.mo index 659503b..125baa7 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 3ff4418..29bdbf0 100644 --- a/languages/wc-tier-package-prices-de_DE.po +++ b/languages/wc-tier-package-prices-de_DE.po @@ -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" msgstr "Optionen ansehen" -#: includes/class-wc-tpp-frontend.php:178 -msgid "View options for %s" -msgstr "Optionen für %s ansehen" + +#: includes/class-wc-tpp-product-meta.php:36 +#: 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)" diff --git a/languages/wc-tier-package-prices-de_DE_informal.mo b/languages/wc-tier-package-prices-de_DE_informal.mo index 6bf38d0..49bf27d 100644 Binary files a/languages/wc-tier-package-prices-de_DE_informal.mo and b/languages/wc-tier-package-prices-de_DE_informal.mo differ diff --git a/languages/wc-tier-package-prices-de_DE_informal.po b/languages/wc-tier-package-prices-de_DE_informal.po index 9ca92d4..59b5b42 100644 --- a/languages/wc-tier-package-prices-de_DE_informal.po +++ b/languages/wc-tier-package-prices-de_DE_informal.po @@ -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" msgstr "Optionen ansehen" -#: includes/class-wc-tpp-frontend.php:178 -msgid "View options for %s" -msgstr "Optionen für %s ansehen" + +#: includes/class-wc-tpp-product-meta.php:36 +#: 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)" diff --git a/languages/wc-tier-package-prices-en_US.mo b/languages/wc-tier-package-prices-en_US.mo index 36526ff..c339f06 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 c697bfb..d8bdd7b 100644 --- a/languages/wc-tier-package-prices-en_US.po +++ b/languages/wc-tier-package-prices-en_US.po @@ -240,6 +240,20 @@ msgstr "The quantity %1$d is not available for %2$s. Please choose from the avai msgid "View Options" msgstr "View Options" -#: includes/class-wc-tpp-frontend.php:178 -msgid "View options for %s" -msgstr "View options for %s" + +#: includes/class-wc-tpp-product-meta.php:36 +#: 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)" diff --git a/languages/wc-tier-package-prices-fr_CH.mo b/languages/wc-tier-package-prices-fr_CH.mo index 3339c60..574e750 100644 Binary files a/languages/wc-tier-package-prices-fr_CH.mo and b/languages/wc-tier-package-prices-fr_CH.mo differ diff --git a/languages/wc-tier-package-prices-fr_CH.po b/languages/wc-tier-package-prices-fr_CH.po index 71e53bf..db35b29 100644 --- a/languages/wc-tier-package-prices-fr_CH.po +++ b/languages/wc-tier-package-prices-fr_CH.po @@ -240,6 +240,20 @@ msgstr "La quantité %1$d n'est pas disponible pour %2$s. Veuillez choisir parmi msgid "View Options" msgstr "Voir les options" -#: includes/class-wc-tpp-frontend.php:178 -msgid "View options for %s" -msgstr "Voir les options pour %s" + +#: includes/class-wc-tpp-product-meta.php:36 +#: 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)" diff --git a/languages/wc-tier-package-prices-it_CH.mo b/languages/wc-tier-package-prices-it_CH.mo index e08ae79..cd2e8e7 100644 Binary files a/languages/wc-tier-package-prices-it_CH.mo and b/languages/wc-tier-package-prices-it_CH.mo differ diff --git a/languages/wc-tier-package-prices-it_CH.po b/languages/wc-tier-package-prices-it_CH.po index c0f3783..d4068c7 100644 --- a/languages/wc-tier-package-prices-it_CH.po +++ b/languages/wc-tier-package-prices-it_CH.po @@ -240,6 +240,20 @@ msgstr "La quantità %1$d non è disponibile per %2$s. Si prega di scegliere tra msgid "View Options" msgstr "Visualizza opzioni" -#: includes/class-wc-tpp-frontend.php:178 -msgid "View options for %s" -msgstr "Visualizza opzioni per %s" + +#: includes/class-wc-tpp-product-meta.php:36 +#: 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)" diff --git a/wc-tier-and-package-prices.php b/wc-tier-and-package-prices.php index b934544..07e0c7f 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/magdev/wc-tier-package-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 URI: https://src.bundespruefstelle.ch/magdev * Text Domain: wc-tier-package-prices @@ -23,7 +23,7 @@ if (!defined('ABSPATH')) { // Define plugin constants 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')) { define('WC_TPP_PLUGIN_DIR', plugin_dir_path(__FILE__));