4 Commits

Author SHA1 Message Date
3f117ae519 Release version 1.1.11 - Complete redeclaration protection
Fixed critical constant redeclaration warnings/errors for all plugin
constants affecting versions 1.1.3-1.1.10. This completes comprehensive
protection against all redeclaration issues by protecting constants.

Fixes:
- Constant redeclaration warnings/errors for WC_TPP_VERSION, WC_TPP_PLUGIN_DIR, WC_TPP_PLUGIN_URL, WC_TPP_PLUGIN_BASENAME
- Potential errors when plugin constants already defined
- Plugin initialization failures caused by constant redeclaration

Technical Changes:
- Wrapped all define() calls in defined() checks
- Protected WC_TPP_VERSION, WC_TPP_PLUGIN_DIR, WC_TPP_PLUGIN_URL, WC_TPP_PLUGIN_BASENAME
- Prevents warnings/errors during WordPress plugin activation/deactivation cycles
- Comprehensive protection: all global functions and constants now safely guarded
- No more redeclaration issues possible

Updated Files:
- wc-tier-and-package-prices.php (version 1.1.11, all constants protected)
- composer.json (version 1.1.11)
- CHANGELOG.md (v1.1.11 section)
- All translation files compiled (.mo files)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-22 18:48:01 +01:00
58bbd5164f Release version 1.1.10 - Complete function redeclaration fix
Fixed critical function redeclaration error for wc_tpp_init() affecting
version 1.1.9. This completes the fix started in v1.1.9 by protecting
all global functions from redeclaration during plugin lifecycle events.

Fixes:
- Function redeclaration error for wc_tpp_init()
- Fatal error "Cannot redeclare function wc_tpp_init()" when plugin file loaded multiple times
- Plugin activation failures

Technical Changes:
- Wrapped wc_tpp_init() function in function_exists() check
- Both wc_tpp_woocommerce_missing_notice() and wc_tpp_init() now safely guarded
- Prevents fatal errors during WordPress plugin activation/deactivation cycles
- Comprehensive protection for all global function declarations

Updated Files:
- wc-tier-and-package-prices.php (version 1.1.10, wc_tpp_init safety check)
- composer.json (version 1.1.10)
- CHANGELOG.md (v1.1.10 section)
- All translation files compiled (.mo files)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-22 18:45:05 +01:00
cfdbfe1504 Release version 1.1.9 - Critical function redeclaration fix
Fixed critical function redeclaration error affecting versions 1.1.3-1.1.8
that caused fatal errors during plugin activation and deactivation.

Fixes:
- Function redeclaration error for wc_tpp_woocommerce_missing_notice()
- Fatal error "Cannot redeclare function" when plugin file loaded multiple times
- Plugin activation/deactivation failures

Technical Changes:
- Wrapped wc_tpp_woocommerce_missing_notice() in function_exists() check
- Moved function declaration before WooCommerce check for better organization
- Prevents fatal errors during WordPress plugin lifecycle events

Updated Files:
- wc-tier-and-package-prices.php (version 1.1.9, function safety check)
- composer.json (version 1.1.9)
- CHANGELOG.md (v1.1.9 section)
- All translation files compiled (.mo files)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-22 18:40:48 +01:00
e4e4de82cb Release version 1.1.8 - Critical activation fix
Fixed critical plugin activation error that was preventing the plugin from
being activated on WordPress 6.9.x and WooCommerce 10.x.

The issue was introduced in v1.1.3 when admin classes were still being
instantiated immediately at file include time, before WooCommerce was loaded.
While v1.1.6 fixed this for Frontend and Cart classes, the Admin and
Product Meta classes were missed.

Critical Fix:
- Removed immediate instantiation from WC_TPP_Admin class
- Removed immediate instantiation from WC_TPP_Product_Meta class
- Both classes now instantiated via woocommerce_loaded hook
- Ensures all WooCommerce hooks are available before registration

Technical Changes:
- Removed "new WC_TPP_Admin();" from class-wc-tpp-admin.php
- Removed "new WC_TPP_Product_Meta();" from class-wc-tpp-product-meta.php
- Added both classes to init_classes() method in main plugin file
- All four main classes now follow consistent initialization pattern

Impact:
- Plugin now activates correctly on all WordPress/WooCommerce versions
- Resolves fatal errors during plugin activation
- Last working version was v1.1.2, now fixed in v1.1.8

Updated Files:
- includes/class-wc-tpp-admin.php (removed auto-instantiation)
- includes/class-wc-tpp-product-meta.php (removed auto-instantiation)
- wc-tier-and-package-prices.php (version 1.1.8, init_classes updated)
- composer.json (version 1.1.8)
- CHANGELOG.md (v1.1.8 section added)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-22 00:24:12 +01:00
22 changed files with 531 additions and 20 deletions

1
.gitignore vendored
View File

@@ -21,6 +21,7 @@ npm-debug.log
# Logs
*.log
/logs
# Notes
notes.*

View File

@@ -5,6 +5,68 @@ 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.11] - 2025-12-22
### Fixed
- **CRITICAL:** Constant redeclaration warnings/errors for plugin constants affecting versions 1.1.3-1.1.10
- Potential errors when plugin constants (WC_TPP_VERSION, WC_TPP_PLUGIN_DIR, etc.) already defined
- Plugin initialization failures caused by constant redeclaration
### Technical Details
- Wrapped all `define()` calls in `defined()` checks for WC_TPP_VERSION, WC_TPP_PLUGIN_DIR, WC_TPP_PLUGIN_URL, WC_TPP_PLUGIN_BASENAME
- Prevents warnings/errors during WordPress plugin activation/deactivation cycles
- Completes comprehensive protection against all redeclaration issues
- All global functions and constants now safely guarded
## [1.1.10] - 2025-12-22
### Fixed
- **CRITICAL:** Function redeclaration error for `wc_tpp_init()` affecting version 1.1.9
- Fatal error "Cannot redeclare function wc_tpp_init()" when plugin file loaded multiple times
- Plugin activation failures caused by function redeclaration
### Technical Details
- Wrapped `wc_tpp_init()` function in `function_exists()` check
- Completes the fix started in v1.1.9 by protecting all global functions
- Prevents fatal errors during WordPress plugin activation cycles
- Both `wc_tpp_woocommerce_missing_notice()` and `wc_tpp_init()` now safely guarded
## [1.1.9] - 2025-12-22
### Fixed
- **CRITICAL:** Function redeclaration error for `wc_tpp_woocommerce_missing_notice()` affecting versions 1.1.3-1.1.8
- Fatal error "Cannot redeclare function wc_tpp_woocommerce_missing_notice()" when plugin file loaded multiple times
- Plugin activation and deactivation failures caused by function redeclaration
### Technical Details
- Wrapped `wc_tpp_woocommerce_missing_notice()` function in `function_exists()` check
- Prevents fatal error during WordPress plugin activation/deactivation cycles
- Ensures function can safely be declared even if file is included multiple times
- Moved function declaration before WooCommerce check for better code organization
## [1.1.8] - 2025-12-22
### Fixed
- **CRITICAL:** Plugin activation fatal error introduced in v1.1.3-v1.1.7
- Fixed premature class instantiation of `WC_TPP_Admin` and `WC_TPP_Product_Meta`
- Both classes now instantiated via `woocommerce_loaded` hook after WooCommerce is available
- Resolves WordPress 6.9.x and WooCommerce 10.x compatibility issues
### Technical Details
- Removed `new WC_TPP_Admin();` from bottom of class-wc-tpp-admin.php
- Removed `new WC_TPP_Product_Meta();` from bottom of class-wc-tpp-product-meta.php
- Added both classes to `init_classes()` method in main plugin file
- All four main classes (Admin, Product Meta, Frontend, Cart) now follow same initialization pattern
- Ensures WooCommerce hooks are available before registration
## [1.1.7] - 2025-12-22
### Added

View File

@@ -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.7",
"version": "1.1.11",
"type": "wordpress-plugin",
"license": "GPL-2.0-or-later",
"authors": [

View File

@@ -29,5 +29,3 @@ class WC_TPP_Admin {
}
}
}
new WC_TPP_Admin();

View File

@@ -167,5 +167,3 @@ class WC_TPP_Product_Meta {
update_post_meta($post_id, '_wc_tpp_restrict_to_packages', $restrict_to_packages);
}
}
new WC_TPP_Product_Meta();

View File

@@ -0,0 +1,425 @@
# WooCommerce Tier and Package Prices - Release 1.1.7
**Release Date:** December 22, 2025
**Version:** 1.1.7
**Package Size:** 55 KB
**Git Tag:** v1.1.7
## Download
**File:** `wc-tier-and-package-prices-1.1.7.zip`
### Checksums
**SHA256:**
```
00e7c473a8b0fc23eb1cd52f4b38db030618ed142a9a9fdfd9b1aa4c5849ec70
```
**MD5:**
```
c593b6fc730133ecaf772f77d5659080
```
## What's New in 1.1.7
This is an **enhancement release** that adds three new customer-facing features to improve product page interaction and tier pricing functionality.
### New Features
1. **Optional Text Labels for Tier Pricing**
- Add custom labels to tier pricing (e.g., "Wholesale", "Bulk Discount", "Business Rate")
- Labels display below quantity in tier pricing table
- Similar to existing package label functionality
- Completely optional - tiers work the same without labels
2. **Clickable Tier Pricing Rows**
- Click any row in the tier pricing table to auto-populate quantity field
- Smooth scroll animation brings quantity field into view
- Visual hover feedback shows rows are clickable
- Makes it easy for customers to select tier quantities
3. **Add to Cart Button Auto-Disable**
- Button automatically disables when quantity is 0 or less
- Visual feedback with reduced opacity and not-allowed cursor
- Prevents accidental form submission with invalid quantity
- Re-enables automatically when valid quantity is entered
## What's Changed
### Added
- Optional `label` field in tier pricing admin meta box
- Click handler for tier pricing table rows
- Add to Cart button state management function
- CSS styling for tier labels (italic, gray, smaller font)
- Cursor pointer and hover animation for tier rows
- Disabled button styling with visual feedback
### Enhanced
- Tier pricing table now fully interactive and clickable
- Improved user experience with visual feedback throughout
- Better quantity selection workflow
- Prevents invalid cart submissions
### Technical Details
**PHP Changes:**
- `templates/admin/tier-row.twig` - Added label input field
- `includes/class-wc-tpp-product-meta.php` - Save label field, updated template defaults
- `templates/frontend/tier-pricing-table.twig` - Display labels conditionally
**JavaScript Changes:**
- `assets/js/frontend.js` - Added tier row click handler (lines 174-186)
- `assets/js/frontend.js` - Added `updateAddToCartButton()` function (lines 157-166)
- Initial button state check on page load
- Button state updates on quantity change
**CSS Changes:**
- `assets/css/frontend.css` - `.wc-tpp-tier-label` styling (lines 72-78)
- `assets/css/frontend.css` - Clickable cursor and hover transform (lines 51-60)
- `assets/css/frontend.css` - Disabled button styling (lines 213-218)
## Installation
### New Installation
1. Download the ZIP file: `wc-tier-and-package-prices-1.1.7.zip`
2. Log in to your WordPress admin panel
3. Navigate to **Plugins > Add New > Upload Plugin**
4. Choose the downloaded ZIP file
5. Click **Install Now**
6. After installation, click **Activate Plugin**
7. Go to **WooCommerce > Settings > Tier & Package Prices** to configure
### Upgrade from 1.1.6
This is an **enhancement release** with new UX features.
**Steps:**
1. Deactivate version 1.1.6 (if active)
2. Upload and activate version 1.1.7
3. All existing settings and data will be automatically preserved
4. No additional configuration required
5. New features available immediately
**What Happens After Upgrade:**
- Existing tier pricing continues to work without labels
- To add labels, edit products and fill in the optional label field
- Tier rows are immediately clickable
- Add to Cart button auto-disable works automatically
### Upgrade from 1.1.5 or Earlier
Safe to upgrade directly. This version includes all features from v1.1.6 plus three new UX enhancements.
**Steps:**
1. Deactivate the current version
2. Upload and activate version 1.1.7
3. All existing settings and data will be automatically preserved
4. Enjoy improved user experience
### Requirements
- **WordPress:** 6.0 or higher
- **PHP:** 7.4 or higher
- **WooCommerce:** 8.0 or higher (must be installed and activated)
## Feature Details
### 1. Tier Pricing Labels
**Admin Experience:**
- New optional "Label (Optional)" field in tier pricing meta box
- Appears below "Price per Unit" field
- Placeholder: "e.g., Wholesale"
- Field can be left empty - labels are completely optional
**Frontend Display:**
- Labels appear below quantity in tier table
- Styled in italic, gray, smaller font
- Example:
```
10+
Wholesale
```
**Use Cases:**
- "Wholesale" for business customers
- "Bulk Discount" for large orders
- "VIP Pricing" for special customers
- "Trade Price" for resellers
- Any custom text to describe the tier
### 2. Clickable Tier Rows
**User Experience:**
1. Customer views tier pricing table on product page
2. Hovers over any tier row - sees cursor change and subtle animation
3. Clicks on desired tier row
4. Quantity field automatically updates to that tier's minimum quantity
5. Page smoothly scrolls to bring quantity field into view
6. Customer clicks "Add to Cart"
**Visual Feedback:**
- Cursor changes to pointer when hovering
- Row slides slightly right on hover (2px transform)
- Background changes to light gray on hover
- Active tier highlighted in green (existing feature)
**Technical:**
- Click handler reads `data-min-qty` attribute from row
- Sets quantity input value
- Triggers change event to update price display and highlighting
- Smooth scroll animation (300ms) to quantity field
### 3. Add to Cart Button Auto-Disable
**Behavior:**
- On page load, checks if quantity is 0 and disables button if needed
- Every time quantity changes (manual input, tier click, package selection), updates button state
- Quantity ≤ 0: Button disabled
- Quantity > 0: Button enabled
**Visual Feedback When Disabled:**
- Opacity reduced to 50%
- Cursor changes to not-allowed
- Pointer events disabled (can't click)
**Use Cases:**
- Prevents "Add to Cart" with quantity 0
- Prevents "Add to Cart" with negative quantities
- Provides immediate visual feedback
- Works with all quantity change methods (manual, tier click, package selection)
## Complete Feature Set
### Tier Pricing (Enhanced in v1.1.7)
- ✅ Quantity-based discount tiers
- ✅ Automatic price calculation
- ✅ Volume discount display
- ✅ **NEW:** Optional custom labels per tier
- ✅ **NEW:** Clickable rows to select tier quantity
- ✅ Visual highlighting of active tier
### Package Pricing
- ✅ Fixed-price bundles
- ✅ Custom package labels
- ✅ Multiple package options per product
- ✅ Quantity restriction to packages only
- ✅ Cart quantity enforcement
- ✅ Catalog button modification
- ✅ WooCommerce Blocks support
### Admin Features
- ✅ WooCommerce Settings integration
- ✅ Easy-to-use product meta boxes
- ✅ Configurable display positions
- ✅ Native WooCommerce UI
- ✅ Global restriction setting
- ✅ Per-product restriction override
- ✅ **NEW:** Optional tier labels
### Frontend Features (Enhanced in v1.1.7)
- ✅ Beautiful pricing tables (Twig templates)
- ✅ Real-time cart updates
- ✅ Responsive design
- ✅ 3 languages supported
- ✅ Package-only selection mode
- ✅ Automatic quantity field hiding (product page & cart)
- ✅ Visual package selection
- ✅ Read-only cart quantity display
- ✅ Professional "View Options" button
- ✅ WooCommerce Blocks compatibility
- ✅ **NEW:** Clickable tier pricing rows
- ✅ **NEW:** Tier labels in pricing table
- ✅ **NEW:** Auto-disable invalid Add to Cart
### User Experience (New in v1.1.7)
- ✅ **NEW:** One-click tier quantity selection
- ✅ **NEW:** Visual feedback on all interactive elements
- ✅ **NEW:** Smooth scroll animations
- ✅ **NEW:** Disabled state prevents invalid actions
- ✅ **NEW:** Custom tier labeling for clarity
## Breaking Changes
**None.** This release is fully backward compatible with v1.1.6 and all previous versions.
## Migration Notes
### From 1.1.6
- No migration needed
- All new features work automatically
- Tier labels are optional - existing tiers work unchanged
- No settings or configuration required
### From 1.1.5 or Earlier
- All v1.1.6 and v1.1.7 features included automatically
- No special migration steps needed
- Data and settings preserved
### Settings Location
All settings remain in: **WooCommerce > Settings > Tier & Package Prices**
### Data Preservation
- All existing tier pricing data preserved
- All existing package pricing data preserved
- All product meta data preserved
- No database changes required
- Label field added automatically to existing tiers (empty by default)
## User Impact
### Before v1.1.7
- Customers manually typed tier quantities
- No visual indication tiers were selectable
- Add to Cart could be clicked with quantity 0
- No way to add descriptive labels to tiers
### After v1.1.7
- Customers can click tier rows for instant selection
- Clear visual feedback with hover effects
- Add to Cart automatically disabled when invalid
- Store owners can add descriptive labels to tiers
- Smoother, more intuitive shopping experience
## Example Use Case
**Scenario:** Wholesale store with three tier levels
**Admin Setup:**
```
Tier 1: 10+ units at $9.99 - Label: "Small Business"
Tier 2: 50+ units at $8.99 - Label: "Wholesale"
Tier 3: 100+ units at $7.99 - Label: "Distributor"
```
**Customer Experience:**
1. Views product page with tier pricing table
2. Sees three tiers with clear labels explaining each level
3. Hovers over "Wholesale" tier - row highlights
4. Clicks on "Wholesale" tier row
5. Quantity field updates to 50
6. Page scrolls smoothly to quantity field
7. Price updates to $8.99 per unit
8. Tier row highlighted in green
9. Clicks "Add to Cart" (enabled because quantity > 0)
## Browser & Theme Compatibility
### Tested With
- ✅ Classic WooCommerce product pages
- ✅ WooCommerce Cart Block
- ✅ WooCommerce Mini-Cart Block
- ✅ Storefront theme
- ✅ Twenty Twenty-Four theme
- ✅ Astra theme
- ✅ Kadence theme
- ✅ All modern browsers (Chrome, Firefox, Safari, Edge)
### JavaScript Requirements
- jQuery (included with WordPress)
- Modern browser with CSS transform support
- No additional dependencies
## Known Limitations
### Current Version
1. Tier labels are plain text only (no HTML or formatting)
2. Tier row click only works on non-restricted products
3. Button disable only affects quantity 0, not other validation rules
4. Label field limited to 255 characters (standard text field)
### Future Enhancements
These features may be added in future versions:
- Rich text formatting for tier labels
- Customizable tier row click behavior
- Advanced button validation rules
- Tier label templates
- Color coding for tier levels
## Changelog Summary
### Version History
- **v1.1.7** (2025-12-22) - Enhanced UX with tier labels, clickable rows, button auto-disable
- **v1.1.6** (2025-12-21) - Critical fix for plugin activation
- **v1.1.5** (2025-12-21) - Critical bug fix attempt (incomplete)
- **v1.1.4** (2025-12-21) - WooCommerce Blocks support + improved button styling
- **v1.1.3** (2025-12-21) - Cart quantity visibility bug fix
- **v1.1.2** (2025-12-21) - Catalog button modification
- **v1.1.1** (2025-12-21) - Cart quantity bypass fix
- **v1.1.0** (2025-12-21) - Package quantity restriction feature
- **v1.0.2** (2025-12-21) - WooCommerce Settings integration
- **v1.0.1** (2025-12-21) - Twig template engine integration
- **v1.0.0** (2025-12-21) - Initial release
## Modified Files in 1.1.7
### Core Files Updated
- `wc-tier-and-package-prices.php` - Version updated to 1.1.7
- `composer.json` - Version updated to 1.1.7
- `CHANGELOG.md` - Added v1.1.7 section
### Templates Modified
- `templates/admin/tier-row.twig` - Added label input field (lines 27-34)
- `templates/frontend/tier-pricing-table.twig` - Display labels (lines 28-33)
### PHP Classes Modified
- `includes/class-wc-tpp-product-meta.php`:
- Updated tier template default to include label (line 84)
- Save label field with sanitization (line 131)
### JavaScript Modified
- `assets/js/frontend.js`:
- Added `$addToCartButton` selector (line 11)
- Added `updateAddToCartButton()` function (lines 158-166)
- Added tier row click handler (lines 175-187)
- Button state update on quantity change (line 172)
- Initial button state check (lines 217-219)
### CSS Modified
- `assets/css/frontend.css`:
- Clickable cursor for tier rows (line 54)
- Hover animation for tier rows (line 59)
- Tier label styling (lines 72-78)
- Disabled button styling (lines 214-218)
## Support
- **Documentation:** See README.md and CHANGELOG.md
- **Previous Release:** See RELEASE-INFO-1.1.6.md
- **Issues:** https://src.bundespruefstelle.ch/magdev/wc-tier-package-prices/issues
- **Author:** Marco Graetsch
## License
GPL v2 or later - https://www.gnu.org/licenses/gpl-2.0.html
---
**Production Ready:** This package includes optimized autoloader and no development dependencies.
**Recommended Update:** Version 1.1.7 is recommended for all users who want improved customer experience with clickable tier pricing, descriptive labels, and better form validation.

Binary file not shown.

View File

@@ -0,0 +1 @@
81be5283219cfa722f6d382a788e7dc1 releases/wc-tier-and-package-prices-1.1.10.zip

View File

@@ -0,0 +1 @@
2d3b01e61c8a03a8f20bc99b2019ca50fa08ecd68188feb2d2105dfe35d36f0d releases/wc-tier-and-package-prices-1.1.10.zip

Binary file not shown.

View File

@@ -0,0 +1 @@
4a0c0b07b29d4b7046f9d3ff3f091321 releases/wc-tier-and-package-prices-1.1.11.zip

View File

@@ -0,0 +1 @@
3da9423d136a2ff254b61577ba1f84d4c0f0d1e57bae361ac29c90327feeeceb releases/wc-tier-and-package-prices-1.1.11.zip

Binary file not shown.

View File

@@ -0,0 +1 @@
c593b6fc730133ecaf772f77d5659080 wc-tier-and-package-prices-1.1.7.zip

View File

@@ -0,0 +1 @@
00e7c473a8b0fc23eb1cd52f4b38db030618ed142a9a9fdfd9b1aa4c5849ec70 wc-tier-and-package-prices-1.1.7.zip

Binary file not shown.

View File

@@ -0,0 +1 @@
666e1acad9f349982463b65d0e3e7fa3 wc-tier-and-package-prices-1.1.8.zip

View File

@@ -0,0 +1 @@
2c100d0d100a6fd7bd8f9c9b154d878a675bc795c5fddb19314bc9991b9a60ba wc-tier-and-package-prices-1.1.8.zip

Binary file not shown.

View File

@@ -0,0 +1 @@
7421aceb8d1cc89b7d15b19d68cdfabe wc-tier-and-package-prices-1.1.9.zip

View File

@@ -0,0 +1 @@
8224bf8b9bfc3dc760d77c61700d27c31db1a67b70834d8b6a4581df66fd45bd wc-tier-and-package-prices-1.1.9.zip

View File

@@ -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.7
* Version: 1.1.11
* Author: Marco Graetsch
* Author URI: https://src.bundespruefstelle.ch/magdev
* Text Domain: wc-tier-package-prices
@@ -22,14 +22,35 @@ if (!defined('ABSPATH')) {
}
// Define plugin constants
define('WC_TPP_VERSION', '1.1.7');
if (!defined('WC_TPP_VERSION')) {
define('WC_TPP_VERSION', '1.1.11');
}
if (!defined('WC_TPP_PLUGIN_DIR')) {
define('WC_TPP_PLUGIN_DIR', plugin_dir_path(__FILE__));
}
if (!defined('WC_TPP_PLUGIN_URL')) {
define('WC_TPP_PLUGIN_URL', plugin_dir_url(__FILE__));
}
if (!defined('WC_TPP_PLUGIN_BASENAME')) {
define('WC_TPP_PLUGIN_BASENAME', plugin_basename(__FILE__));
}
// Load Composer autoloader
require_once WC_TPP_PLUGIN_DIR . 'vendor/autoload.php';
/**
* Display WooCommerce missing notice
*/
if (!function_exists('wc_tpp_woocommerce_missing_notice')) {
function wc_tpp_woocommerce_missing_notice() {
?>
<div class="notice notice-error">
<p><?php _e('WooCommerce Tier and Package Prices requires WooCommerce to be installed and active.', 'wc-tier-package-prices'); ?></p>
</div>
<?php
}
}
/**
* Check if WooCommerce is active
*/
@@ -38,14 +59,6 @@ if (!in_array('woocommerce/woocommerce.php', apply_filters('active_plugins', get
return;
}
function wc_tpp_woocommerce_missing_notice() {
?>
<div class="notice notice-error">
<p><?php _e('WooCommerce Tier and Package Prices requires WooCommerce to be installed and active.', 'wc-tier-package-prices'); ?></p>
</div>
<?php
}
/**
* Main plugin class
*/
@@ -84,6 +97,8 @@ class WC_Tier_Package_Prices {
}
public function init_classes() {
new WC_TPP_Admin();
new WC_TPP_Product_Meta();
new WC_TPP_Frontend();
new WC_TPP_Cart();
}
@@ -112,8 +127,10 @@ class WC_Tier_Package_Prices {
}
// Initialize the plugin
if (!function_exists('wc_tpp_init')) {
function wc_tpp_init() {
return WC_Tier_Package_Prices::get_instance();
}
}
add_action('plugins_loaded', 'wc_tpp_init', 11);