You've already forked wc-tier-and-package-prices
Compare commits
6 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 880983a879 | |||
| 937e80fce3 | |||
| 9c5e3c85ae | |||
| 3d47ee63d8 | |||
| 04eba21521 | |||
| ef314e36bc |
55
CHANGELOG.md
55
CHANGELOG.md
@@ -5,6 +5,61 @@ 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.4] - 2025-12-30
|
||||
|
||||
### Fixed
|
||||
|
||||
- **Admin Table Borders (Critical)**: Fixed table borders still appearing in v1.2.3 despite borderless styling attempt. WooCommerce's default CSS was overriding `border: none` declarations. Added `!important` flags to all border removal rules and `border-collapse: collapse !important` to force borderless styling. Now all tier/package pricing tables (simple and variable products) display correctly without borders, matching WooCommerce's clean admin UI.
|
||||
|
||||
- **Checkbox and Help Icon Layout**: Fixed help icon positioning and checkbox spacing issues from v1.2.3. The help icon was appearing at the right edge of the container instead of next to the label text. Increased checkbox-label margin from 8px to 12px for better spacing. Changed label layout from float positioning to flexbox (`inline-flex`) to keep help icon directly adjacent to label text. Added inline description hiding when tooltip is shown.
|
||||
|
||||
### Technical Details
|
||||
|
||||
**Root Cause - Table Borders**: WooCommerce's core admin CSS has higher specificity border rules that override simple `border: none` declarations. The solution required:
|
||||
- Adding `!important` to all `border: none` rules targeting tables, th, td, thead, tbody, and tr elements
|
||||
- Adding `border-collapse: collapse !important` to prevent cell borders from being visible
|
||||
- Comprehensive targeting of all table structural elements for complete border removal
|
||||
|
||||
**Root Cause - Help Icon Position**: WooCommerce's default `.woocommerce-help-tip` styling uses `float: right` which positions the icon at the container's right edge. The fix:
|
||||
- Removed float positioning with `float: none`
|
||||
- Changed to `display: inline-block` with `vertical-align: middle`
|
||||
- Wrapped label and help-tip in flexbox container (`display: inline-flex; align-items: center`)
|
||||
- Controlled spacing with precise margins (checkbox: 12px right, help-tip: 6px left)
|
||||
|
||||
### Changed Files
|
||||
|
||||
- `assets/css/admin.css` - Added `!important` flags to all border removal rules; added `border-collapse: collapse`; increased checkbox margin to 12px; converted label layout to flexbox; positioned help-tip with inline-block; added inline description hiding
|
||||
|
||||
## [1.2.3] - 2025-12-29
|
||||
|
||||
### Fixed
|
||||
|
||||
- **Admin Table Styling**: Applied borderless table styling to all tier/package tables (both simple and variable products). Previously only variation tables had borders removed in v1.2.2. Now all pricing tables in the admin have a consistent borderless appearance matching WooCommerce's clean admin UI style.
|
||||
|
||||
- **Checkbox Styling and Tooltip**: Fixed checkbox styling issues where the help text was displayed inline instead of as a tooltip, and the margin between checkbox and label was too small. Added `desc_tip => true` to the variation restriction checkbox to enable tooltip display. Added CSS rules to increase checkbox-label margin to 8px and hide inline description text when tooltips are used.
|
||||
|
||||
### Changed Files
|
||||
|
||||
- `assets/css/admin.css` - Applied `border: none` to all tier/package table elements; added checkbox margin and description hiding rules
|
||||
- `includes/class-wc-tpp-product-meta.php` - Added `desc_tip => true` parameter to variation checkbox (line 213)
|
||||
|
||||
## [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
|
||||
|
||||
95
CLAUDE.md
95
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.4
|
||||
**Author:** Marco Graetsch
|
||||
**Project Status:** Production-ready WordPress plugin
|
||||
|
||||
@@ -13,6 +13,7 @@ This is a WooCommerce plugin that adds flexible pricing capabilities to products
|
||||
2. **Package Pricing (Fixed Bundles)**: Exact quantity packages at fixed prices (e.g., exactly 10 items for $95, exactly 25 for $200)
|
||||
|
||||
### Key Fact: 100% AI-Generated
|
||||
|
||||
This project is proudly **"vibe-coded"** using Claude.AI - the entire codebase was created through AI assistance.
|
||||
|
||||
## Technical Stack
|
||||
@@ -27,6 +28,7 @@ This project is proudly **"vibe-coded"** using Claude.AI - the entire codebase w
|
||||
- **Internationalization:** WordPress i18n (.pot/.po/.mo files)
|
||||
|
||||
### Dependencies
|
||||
|
||||
```json
|
||||
{
|
||||
"twig/twig": "^3.0",
|
||||
@@ -38,7 +40,8 @@ This project is proudly **"vibe-coded"** using Claude.AI - the entire codebase w
|
||||
## Architecture
|
||||
|
||||
### Directory Structure
|
||||
```
|
||||
|
||||
```txt
|
||||
wc-tier-and-package-prices/
|
||||
├── wc-tier-and-package-prices.php # Main plugin file (entry point)
|
||||
├── includes/ # PHP classes
|
||||
@@ -172,6 +175,7 @@ wc-tier-and-package-prices/
|
||||
### Price Calculation Logic
|
||||
|
||||
**Package Pricing** (exact match):
|
||||
|
||||
```php
|
||||
// In cart: if quantity == 10 and package exists for 10, use package price
|
||||
if ($quantity == $package['qty']) {
|
||||
@@ -181,6 +185,7 @@ if ($quantity == $package['qty']) {
|
||||
```
|
||||
|
||||
**Tier Pricing** (range-based):
|
||||
|
||||
```php
|
||||
// In cart: if quantity >= 10, use tier price for quantities 10+
|
||||
foreach ($tiers as $tier) {
|
||||
@@ -226,7 +231,9 @@ This metadata is used by display filters to show "(Package price)" or "(Volume d
|
||||
## Common Patterns & Conventions
|
||||
|
||||
### Class Instantiation Pattern
|
||||
|
||||
All classes auto-instantiate at the end of their file:
|
||||
|
||||
```php
|
||||
if (!class_exists('WC_TPP_Frontend')) {
|
||||
class WC_TPP_Frontend {
|
||||
@@ -247,7 +254,9 @@ new WC_TPP_Frontend(); // Auto-instantiate
|
||||
- Direct file access prevention via `ABSPATH` check
|
||||
|
||||
### Translation Ready
|
||||
|
||||
All user-facing strings use:
|
||||
|
||||
```php
|
||||
__('Text to translate', 'wc-tier-package-prices')
|
||||
_e('Text to translate', 'wc-tier-package-prices')
|
||||
@@ -270,6 +279,7 @@ Note: Swiss locales use CHF currency formatting in examples (e.g., "CHF 50.-")
|
||||
## Known Issues & Historical Context
|
||||
|
||||
### Settings Page Duplication Saga (v1.1.15-1.1.19)
|
||||
|
||||
Multiple versions attempted to fix settings page appearing twice:
|
||||
|
||||
- **Root cause:** Settings file auto-instantiation + Composer autoloader
|
||||
@@ -277,6 +287,7 @@ Multiple versions attempted to fix settings page appearing twice:
|
||||
- **Prevention:** Singleton pattern + duplicate detection in array
|
||||
|
||||
### Class Redeclaration Issues (v1.1.8-1.1.14)
|
||||
|
||||
Plugin was completely non-functional:
|
||||
|
||||
- **Cause:** Incorrect initialization pattern without `class_exists()` guards
|
||||
@@ -284,7 +295,8 @@ Plugin was completely non-functional:
|
||||
- **Lesson:** Always wrap class declarations in `class_exists()` checks
|
||||
|
||||
### WooCommerce Blocks Fatal Error (v1.1.19 → v1.1.20)
|
||||
```
|
||||
|
||||
```txt
|
||||
Fatal error: Cannot use object of type WC_Product_Simple as array
|
||||
Location: includes/class-wc-tpp-cart.php:233
|
||||
```
|
||||
@@ -296,6 +308,7 @@ Location: includes/class-wc-tpp-cart.php:233
|
||||
## Release Process
|
||||
|
||||
### Version Bumping
|
||||
|
||||
Update version in 3 places:
|
||||
|
||||
1. `wc-tier-and-package-prices.php` - Plugin header comment (line 7)
|
||||
@@ -468,6 +481,7 @@ When making changes, test these critical paths:
|
||||
### Common Pitfalls and Solutions
|
||||
|
||||
#### Release Package Creation
|
||||
|
||||
**Problem:** Empty or corrupted zip files (0 bytes or wrong structure)
|
||||
**Cause:** Running zip command from wrong directory or incorrect path patterns
|
||||
**Solution:** Always run from parent directory (`/home/magdev/workspaces/node`) and use full relative paths in exclusions
|
||||
@@ -481,7 +495,9 @@ When making changes, test these critical paths:
|
||||
**Solution:** Follow verification steps and check package size immediately after creation
|
||||
|
||||
#### UI Changes in Admin
|
||||
|
||||
**WooCommerce CSS Classes:**
|
||||
|
||||
- `short` - Small input fields (~60px width)
|
||||
- `regular` - Medium input fields (~120px width)
|
||||
- `long` - Large input fields (~200px+ width)
|
||||
@@ -491,6 +507,7 @@ When modifying admin input fields in Twig templates, use WooCommerce's standard
|
||||
**Location:** `templates/admin/*.twig` for admin UI changes
|
||||
|
||||
#### Git Workflow Issues
|
||||
|
||||
**Problem:** Cannot rebase due to uncommitted changes
|
||||
**Solution:** Stash local config files (`.claude/settings.local.json`) before git operations
|
||||
|
||||
@@ -519,7 +536,7 @@ The plugin uses Twig 3.0 for templating. Key files:
|
||||
|
||||
### Complete Release Workflow Summary
|
||||
|
||||
Based on v1.1.22 release experience, here's the complete workflow:
|
||||
Based on v1.1.22, v1.2.2, and v1.2.3 release experience, here's the complete workflow:
|
||||
|
||||
1. **Fix bugs/add features** on `dev` branch
|
||||
2. **Update version numbers** (3 files: main plugin file header, constant, composer.json)
|
||||
@@ -544,6 +561,52 @@ Based on v1.1.22 release experience, here's the complete workflow:
|
||||
- `releases/wc-tier-and-package-prices-X.X.X.zip*` - Package and checksums
|
||||
- Feature-specific files (templates, PHP classes, etc.)
|
||||
|
||||
### Release Package Creation - Critical Notes
|
||||
|
||||
**IMPORTANT:** The zip command must be run from the **parent directory** to create proper archive structure.
|
||||
|
||||
**Correct command (from `/home/magdev/workspaces/php`):**
|
||||
|
||||
```bash
|
||||
cd /home/magdev/workspaces/php
|
||||
zip -r wc-tier-and-package-prices/releases/wc-tier-and-package-prices-X.X.X.zip wc-tier-and-package-prices/ \
|
||||
-x '*/\.git/*' '*/.git/*' 'wc-tier-and-package-prices/.git/*' \
|
||||
'*.gitignore' '*.log' '*/.claude/*' '*/CLAUDE.md' \
|
||||
'*/releases/*' '*/wordpress/*' '*/node_modules/*' \
|
||||
'*/.DS_Store' '*/Thumbs.db' '*/.vscode/*' '*/.idea/*' \
|
||||
'*.sublime-*' '*/notes.*' '*/logs/*' '*/templates/cache/*' \
|
||||
'*/composer.lock'
|
||||
```
|
||||
|
||||
**Critical Exclusions:**
|
||||
|
||||
- `*/wordpress/*` - MUST be excluded! The project has a symlink to WordPress installation that zip will follow, creating 129MB+ packages instead of ~430KB
|
||||
- `.git/*` - All git metadata (multiple patterns needed for reliability)
|
||||
- `.claude/*` and `CLAUDE.md` - Development documentation
|
||||
- `releases/*` - Prevents including previous releases in new ones
|
||||
- `composer.lock` - Not needed in production (vendor/ is included)
|
||||
|
||||
**Expected Package Size:** ~430-431KB (383 files)
|
||||
|
||||
**Package Size Alert:** If >1MB, exclusions failed (likely wordpress symlink included)
|
||||
|
||||
**Verification Steps:**
|
||||
|
||||
```bash
|
||||
# 1. Check size (should be ~430KB)
|
||||
ls -lh releases/wc-tier-and-package-prices-X.X.X.zip
|
||||
|
||||
# 2. Verify file count (should be 383 files)
|
||||
unzip -l releases/wc-tier-and-package-prices-X.X.X.zip | tail -1
|
||||
|
||||
# 3. Check for excluded files
|
||||
unzip -l releases/wc-tier-and-package-prices-X.X.X.zip | grep -E "CLAUDE\.md|\.claude/|\.git/|wordpress/"
|
||||
# Should return nothing (exit code 1)
|
||||
|
||||
# 4. Verify version in package
|
||||
unzip -p releases/wc-tier-and-package-prices-X.X.X.zip wc-tier-and-package-prices/wc-tier-and-package-prices.php | head -30 | grep -E "Version:|WC_TPP_VERSION"
|
||||
```
|
||||
|
||||
### Future Features and Roadmap
|
||||
|
||||
The is a hierarchical list for upcoming features and can be considered as a
|
||||
@@ -564,6 +627,26 @@ 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)
|
||||
|
||||
1. ~~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.
|
||||
|
||||
2. ~~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.
|
||||
|
||||
3. ~~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.
|
||||
|
||||
##### Bugfixes (Completed in v1.2.3)
|
||||
|
||||
1. ~~Style the tier and packages tables in admin on simple products according to the styles on variable products.~~ ✅ **FIXED in v1.2.3** - Applied borderless table styling to all tier/package tables (both simple and variable products). Removed borders from table, th, and td elements to match WooCommerce's clean admin UI style.
|
||||
|
||||
2. ~~The checkbox styles from 1.2.2 bug 3 are still not looking correct. The helptext is written instead of hidden after the help icon and the margin between checkbox and label are to small.~~ ✅ **FIXED in v1.2.3** - Added `desc_tip => true` to variation checkbox to show tooltip instead of inline text. Added CSS rules to increase checkbox-label margin (8px) and hide inline description text when tooltip is used.
|
||||
|
||||
##### Bugfixes (Completed in v1.2.4)
|
||||
|
||||
1. ~~Bug 1 in v1.2.3 is not fixed. Now both table display have border again. they shouldn't have border.~~ ✅ **FIXED in v1.2.4** - Added `!important` flags and `border-collapse: collapse` to table CSS to override WooCommerce's default table styling. Added comprehensive border removal for all table elements (table, thead, tbody, tr, th, td) to ensure truly borderless tables across all browsers.
|
||||
|
||||
2. ~~Bug 2 in v1.2.3: Increase the margin between checkbox and label and put the help icon right next to the label, not at the right border~~ ✅ **FIXED in v1.2.4** - Increased checkbox right margin from 8px to 12px. Repositioned help tip icon to display inline right next to the label text using flexbox layout with `display: inline-flex`, removing float positioning that caused it to appear at the right edge.
|
||||
|
||||
##### 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.
|
||||
@@ -600,7 +683,7 @@ Roadmap for the upcoming development.
|
||||
## File Locations Quick Reference
|
||||
|
||||
| Task | File(s) |
|
||||
|------|---------|
|
||||
| ------ | --------- |
|
||||
| Change version | `wc-tier-and-package-prices.php` (2 places) |
|
||||
| Add global setting | `includes/class-wc-tpp-settings.php` |
|
||||
| Modify product meta box | `includes/class-wc-tpp-product-meta.php` + `templates/admin/*.twig` |
|
||||
@@ -640,7 +723,7 @@ Roadmap for the upcoming development.
|
||||
|
||||
## Support & Resources
|
||||
|
||||
- **Repository:** https://src.bundespruefstelle.ch/magdev/wc-tier-package-prices
|
||||
- **Repository:** <https://src.bundespruefstelle.ch/magdev/wc-tier-package-prices>
|
||||
- **Documentation:** See `README.md`, `QUICKSTART.md`, `USAGE_EXAMPLES.md`, `INSTALLATION.md`
|
||||
- **Changelog:** `CHANGELOG.md` (detailed version history)
|
||||
- **Issue Tracking:** Check fatal-errors-*.log files for production errors
|
||||
|
||||
@@ -23,19 +23,41 @@
|
||||
color: #666;
|
||||
}
|
||||
|
||||
/* Table styling */
|
||||
/* Table styling - borderless design for all tier/package tables */
|
||||
.wc-tpp-tiers-table,
|
||||
.wc-tpp-packages-table {
|
||||
margin-top: 15px;
|
||||
margin-bottom: 15px;
|
||||
border: none !important;
|
||||
border-collapse: collapse !important;
|
||||
}
|
||||
|
||||
.wc-tpp-tiers-table th,
|
||||
.wc-tpp-packages-table th,
|
||||
.wc-tpp-tiers-table td,
|
||||
.wc-tpp-packages-table td {
|
||||
border: none !important;
|
||||
}
|
||||
|
||||
.wc-tpp-tiers-table th {
|
||||
font-weight: 600;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.wc-tpp-packages-table th {
|
||||
font-weight: 600;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.wc-tpp-tiers-table thead,
|
||||
.wc-tpp-packages-table thead,
|
||||
.wc-tpp-tiers-table tbody,
|
||||
.wc-tpp-packages-table tbody,
|
||||
.wc-tpp-tiers-table tr,
|
||||
.wc-tpp-packages-table tr {
|
||||
border: none !important;
|
||||
}
|
||||
|
||||
/* Table row styling - rows are now <tr> elements in a table */
|
||||
.wc-tpp-tier-row,
|
||||
.wc-tpp-package-row {
|
||||
@@ -88,3 +110,34 @@
|
||||
color: #666;
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
/* Checkbox styling improvements */
|
||||
#_wc_tpp_restrict_to_packages,
|
||||
input[id^="wc_tpp_restrict_to_packages_"] {
|
||||
margin-right: 12px !important;
|
||||
}
|
||||
|
||||
/* Position help tip icon right next to the label text */
|
||||
.wc-tpp-tier-pricing .woocommerce-help-tip,
|
||||
.wc-tpp-package-pricing .woocommerce-help-tip,
|
||||
.wc-tpp-variation-pricing .woocommerce-help-tip {
|
||||
margin-left: 6px;
|
||||
margin-right: 0;
|
||||
float: none;
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
/* Fix WooCommerce checkbox label layout for our checkboxes */
|
||||
label[for="_wc_tpp_restrict_to_packages"],
|
||||
label[for^="wc_tpp_restrict_to_packages_"] {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: 0;
|
||||
}
|
||||
|
||||
/* Hide inline description text when tooltip is shown */
|
||||
#_wc_tpp_restrict_to_packages + .description,
|
||||
input[id^="wc_tpp_restrict_to_packages_"] + .description {
|
||||
display: none;
|
||||
}
|
||||
|
||||
@@ -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.4",
|
||||
"type": "wordpress-plugin",
|
||||
"license": "GPL-2.0-or-later",
|
||||
"authors": [
|
||||
|
||||
@@ -210,7 +210,8 @@ 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',
|
||||
'desc_tip' => true,
|
||||
'value' => $restrict,
|
||||
'cbvalue' => 'yes',
|
||||
'wrapper_class' => 'form-row form-row-full'
|
||||
));
|
||||
|
||||
Binary file not shown.
@@ -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)"
|
||||
|
||||
Binary file not shown.
@@ -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)"
|
||||
|
||||
Binary file not shown.
@@ -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)"
|
||||
|
||||
Binary file not shown.
@@ -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)"
|
||||
|
||||
Binary file not shown.
@@ -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)"
|
||||
|
||||
Binary file not shown.
@@ -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)"
|
||||
|
||||
Binary file not shown.
@@ -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)"
|
||||
|
||||
BIN
releases/wc-tier-and-package-prices-1.2.1.zip
Normal file
BIN
releases/wc-tier-and-package-prices-1.2.1.zip
Normal file
Binary file not shown.
1
releases/wc-tier-and-package-prices-1.2.1.zip.md5
Normal file
1
releases/wc-tier-and-package-prices-1.2.1.zip.md5
Normal file
@@ -0,0 +1 @@
|
||||
470f3d87ce3ab9eb5a4ddc4a7262d282 wc-tier-and-package-prices-1.2.1.zip
|
||||
1
releases/wc-tier-and-package-prices-1.2.1.zip.sha256
Normal file
1
releases/wc-tier-and-package-prices-1.2.1.zip.sha256
Normal file
@@ -0,0 +1 @@
|
||||
23e814583b71299f1d9e77c32ec0b9e88ce31c2ddf89a729282234c7f916ed2b wc-tier-and-package-prices-1.2.1.zip
|
||||
BIN
releases/wc-tier-and-package-prices-1.2.2.zip
Normal file
BIN
releases/wc-tier-and-package-prices-1.2.2.zip
Normal file
Binary file not shown.
1
releases/wc-tier-and-package-prices-1.2.2.zip.md5
Normal file
1
releases/wc-tier-and-package-prices-1.2.2.zip.md5
Normal file
@@ -0,0 +1 @@
|
||||
6c1bace109d1401832774668d85cf2c8 wc-tier-and-package-prices-1.2.2.zip
|
||||
1
releases/wc-tier-and-package-prices-1.2.2.zip.sha256
Normal file
1
releases/wc-tier-and-package-prices-1.2.2.zip.sha256
Normal file
@@ -0,0 +1 @@
|
||||
a8674027621bd62ae63c2b63ec33da177f514816c35b45b9788d8dd5edd2c6ec wc-tier-and-package-prices-1.2.2.zip
|
||||
BIN
releases/wc-tier-and-package-prices-1.2.3.zip
Normal file
BIN
releases/wc-tier-and-package-prices-1.2.3.zip
Normal file
Binary file not shown.
1
releases/wc-tier-and-package-prices-1.2.3.zip.md5
Normal file
1
releases/wc-tier-and-package-prices-1.2.3.zip.md5
Normal file
@@ -0,0 +1 @@
|
||||
2ec8f0cbd01f1e77e0e61d84587025bd wc-tier-and-package-prices-1.2.3.zip
|
||||
1
releases/wc-tier-and-package-prices-1.2.3.zip.sha256
Normal file
1
releases/wc-tier-and-package-prices-1.2.3.zip.sha256
Normal file
@@ -0,0 +1 @@
|
||||
ff4e7bd3db5de90e1481e3699cc2e69324046dd01d59c091e19540e3eb6cd0bd wc-tier-and-package-prices-1.2.3.zip
|
||||
@@ -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.4
|
||||
* 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.4');
|
||||
}
|
||||
if (!defined('WC_TPP_PLUGIN_DIR')) {
|
||||
define('WC_TPP_PLUGIN_DIR', plugin_dir_path(__FILE__));
|
||||
|
||||
Reference in New Issue
Block a user