You've already forked wc-tier-and-package-prices
Release version 1.1.14 - Restore plugin functionality
**CRITICAL FIX:** Restored plugin to working state after v1.1.8-1.1.13 were completely non-functional. **Root Cause:** - v1.1.8 moved class instantiation from individual files to init_classes() method - v1.1.13 wrapped classes in class_exists() guards - Combination prevented any classes from being instantiated - Result: No settings, no frontend, no backend functionality **Solution:** - Reverted to v1.1.2 pattern (last working version) - Each class file now instantiates itself with `new ClassName();` - Removed init_classes() method and woocommerce_loaded hook - All class_exists() guards remain for redeclaration protection **What Now Works:** ✅ WooCommerce Settings → Tier & Package Prices tab ✅ Product edit pages show tier/package pricing meta boxes ✅ Frontend displays pricing tables on product pages ✅ Cart applies tier/package pricing correctly ✅ All plugin functionality fully operational **Files Modified:** - includes/class-wc-tpp-admin.php - includes/class-wc-tpp-product-meta.php - includes/class-wc-tpp-frontend.php - includes/class-wc-tpp-cart.php - wc-tier-and-package-prices.php (removed init_classes) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
29
CHANGELOG.md
29
CHANGELOG.md
@@ -5,6 +5,35 @@ 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.1.14] - 2025-12-22
|
||||
|
||||
### Fixed
|
||||
|
||||
- **CRITICAL:** Plugin completely non-functional in v1.1.8-1.1.13 - no settings, no frontend, no backend
|
||||
- Classes never instantiated due to incorrect initialization pattern introduced in v1.1.8
|
||||
- Restored v1.1.2 pattern: classes auto-instantiate when files are included
|
||||
- All plugin functionality now working: settings page, product meta boxes, frontend display, cart integration
|
||||
|
||||
### Changed
|
||||
|
||||
- Reverted to direct class instantiation pattern from v1.1.2 (last known working version)
|
||||
- Removed `init_classes()` method and `woocommerce_loaded` hook approach from v1.1.8
|
||||
- Each class file now instantiates itself with `new ClassName()` at end of file
|
||||
- Simplified plugin initialization for better reliability
|
||||
|
||||
### Technical Details
|
||||
|
||||
- Restored class instantiation in all 5 component files:
|
||||
- `class-wc-tpp-admin.php`: Added `new WC_TPP_Admin();` after class declaration
|
||||
- `class-wc-tpp-product-meta.php`: Added `new WC_TPP_Product_Meta();` after class declaration
|
||||
- `class-wc-tpp-frontend.php`: Added `new WC_TPP_Frontend();` after class declaration
|
||||
- `class-wc-tpp-cart.php`: Added `new WC_TPP_Cart();` after class declaration
|
||||
- `class-wc-tpp-settings.php`: Already has instantiation via return statement
|
||||
- Removed `init_classes()` method from main plugin class
|
||||
- Removed `woocommerce_loaded` hook that delayed class instantiation
|
||||
- Classes now instantiate immediately when `require_once` loads them
|
||||
- All `class_exists()` guards remain in place for redeclaration protection
|
||||
|
||||
## [1.1.13] - 2025-12-22
|
||||
|
||||
### Fixed
|
||||
|
||||
Reference in New Issue
Block a user