You've already forked wc-tier-and-package-prices
Release version 1.1.13 - Critical class redeclaration fixes
Fixed critical class redeclaration errors affecting all plugin functionality in version 1.1.12. All plugin component classes now properly guarded. **CRITICAL FIXES:** - Plugin completely non-functional in v1.1.12 (no settings, no frontend, no backend) - Fatal errors for WC_TPP_Admin, WC_TPP_Product_Meta, WC_TPP_Frontend, WC_TPP_Cart, WC_TPP_Settings classes - All classes now wrapped in class_exists() checks **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 - includes/class-wc-tpp-settings.php **Technical Details:** - Completes comprehensive redeclaration protection started in v1.1.9-1.1.12 - All 2 functions, 4 constants, and 6 classes now protected - Plugin activates successfully and all features functional - Settings page, product meta boxes, frontend display, cart integration all working 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
21
CHANGELOG.md
21
CHANGELOG.md
@@ -5,6 +5,27 @@ 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.13] - 2025-12-22
|
||||
|
||||
### Fixed
|
||||
|
||||
- **CRITICAL:** Class redeclaration errors for all plugin component classes affecting version 1.1.12
|
||||
- Fatal errors "Cannot redeclare class WC_TPP_Admin", "Cannot redeclare class WC_TPP_Product_Meta", "Cannot redeclare class WC_TPP_Frontend", "Cannot redeclare class WC_TPP_Cart", "Cannot redeclare class WC_TPP_Settings"
|
||||
- Plugin functionality completely broken in v1.1.12 - no settings page, no frontend display, no backend controls
|
||||
- All plugin features now working correctly after adding class guards
|
||||
|
||||
### Technical Details
|
||||
|
||||
- Wrapped all 5 plugin component class declarations in `class_exists()` checks:
|
||||
- `WC_TPP_Admin` (includes/class-wc-tpp-admin.php)
|
||||
- `WC_TPP_Product_Meta` (includes/class-wc-tpp-product-meta.php)
|
||||
- `WC_TPP_Frontend` (includes/class-wc-tpp-frontend.php)
|
||||
- `WC_TPP_Cart` (includes/class-wc-tpp-cart.php)
|
||||
- `WC_TPP_Settings` (includes/class-wc-tpp-settings.php)
|
||||
- Completes comprehensive redeclaration protection started in v1.1.9-1.1.12
|
||||
- All functions, constants, and classes now fully protected against redeclaration
|
||||
- Plugin now activates and functions correctly without fatal errors
|
||||
|
||||
## [1.1.12] - 2025-12-22
|
||||
|
||||
### Fixed
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "magdev/wc-tier-package-prices",
|
||||
"description": "WooCommerce plugin for tier pricing and package prices with Twig templates",
|
||||
"version": "1.1.12",
|
||||
"version": "1.1.13",
|
||||
"type": "wordpress-plugin",
|
||||
"license": "GPL-2.0-or-later",
|
||||
"authors": [
|
||||
|
||||
@@ -7,7 +7,8 @@ if (!defined('ABSPATH')) {
|
||||
exit;
|
||||
}
|
||||
|
||||
class WC_TPP_Admin {
|
||||
if (!class_exists('WC_TPP_Admin')) {
|
||||
class WC_TPP_Admin {
|
||||
|
||||
public function __construct() {
|
||||
add_filter('woocommerce_get_settings_pages', array($this, 'add_settings_page'));
|
||||
@@ -29,3 +30,4 @@ class WC_TPP_Admin {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,7 +7,8 @@ if (!defined('ABSPATH')) {
|
||||
exit;
|
||||
}
|
||||
|
||||
class WC_TPP_Cart {
|
||||
if (!class_exists('WC_TPP_Cart')) {
|
||||
class WC_TPP_Cart {
|
||||
|
||||
public function __construct() {
|
||||
add_action('woocommerce_before_calculate_totals', array($this, 'apply_tier_package_pricing'), 10, 1);
|
||||
@@ -247,3 +248,4 @@ class WC_TPP_Cart {
|
||||
return $editable;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,7 +7,8 @@ if (!defined('ABSPATH')) {
|
||||
exit;
|
||||
}
|
||||
|
||||
class WC_TPP_Frontend {
|
||||
if (!class_exists('WC_TPP_Frontend')) {
|
||||
class WC_TPP_Frontend {
|
||||
|
||||
public function __construct() {
|
||||
add_action('wp_enqueue_scripts', array($this, 'enqueue_scripts'));
|
||||
@@ -182,3 +183,4 @@ class WC_TPP_Frontend {
|
||||
return $new_html;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,7 +7,8 @@ if (!defined('ABSPATH')) {
|
||||
exit;
|
||||
}
|
||||
|
||||
class WC_TPP_Product_Meta {
|
||||
if (!class_exists('WC_TPP_Product_Meta')) {
|
||||
class WC_TPP_Product_Meta {
|
||||
|
||||
public function __construct() {
|
||||
add_action('woocommerce_product_options_pricing', array($this, 'add_tier_pricing_fields'));
|
||||
@@ -167,3 +168,4 @@ class WC_TPP_Product_Meta {
|
||||
update_post_meta($post_id, '_wc_tpp_restrict_to_packages', $restrict_to_packages);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,7 +18,8 @@ if (!class_exists('WC_Settings_Page')) {
|
||||
/**
|
||||
* WC_TPP_Settings class
|
||||
*/
|
||||
class WC_TPP_Settings extends WC_Settings_Page {
|
||||
if (!class_exists('WC_TPP_Settings')) {
|
||||
class WC_TPP_Settings extends WC_Settings_Page {
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
@@ -139,5 +140,9 @@ class WC_TPP_Settings extends WC_Settings_Page {
|
||||
WC_Admin_Settings::save_fields($settings);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return new WC_TPP_Settings();
|
||||
if (class_exists('WC_TPP_Settings')) {
|
||||
return new WC_TPP_Settings();
|
||||
}
|
||||
return null;
|
||||
|
||||
BIN
releases/wc-tier-and-package-prices-1.1.13.zip
Normal file
BIN
releases/wc-tier-and-package-prices-1.1.13.zip
Normal file
Binary file not shown.
1
releases/wc-tier-and-package-prices-1.1.13.zip.md5
Normal file
1
releases/wc-tier-and-package-prices-1.1.13.zip.md5
Normal file
@@ -0,0 +1 @@
|
||||
8572eed399554905fbf331d18f0677a0 wc-tier-and-package-prices-1.1.13.zip
|
||||
1
releases/wc-tier-and-package-prices-1.1.13.zip.sha256
Normal file
1
releases/wc-tier-and-package-prices-1.1.13.zip.sha256
Normal file
@@ -0,0 +1 @@
|
||||
83e29b2e40dd43e77bd83cd03d4ccc54ef53555b55544eba4d38161101f79f20 wc-tier-and-package-prices-1.1.13.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.1.12
|
||||
* Version: 1.1.13
|
||||
* 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.1.12');
|
||||
define('WC_TPP_VERSION', '1.1.13');
|
||||
}
|
||||
if (!defined('WC_TPP_PLUGIN_DIR')) {
|
||||
define('WC_TPP_PLUGIN_DIR', plugin_dir_path(__FILE__));
|
||||
|
||||
Reference in New Issue
Block a user