Add WooCommerce HPOS compatibility and fix pricing conflicts (v1.1.3)

Fixes WooCommerce compatibility warnings reported by user.

WooCommerce HPOS compatibility:
- Added before_woocommerce_init hook to declare HPOS compatibility
- Declares compatibility with custom_order_tables feature
- Ensures plugin works with WooCommerce's modern order storage

Price calculation improvements:
- Added static flag to prevent multiple executions
- Added composable_price_calculated flag to cart items
- Prevents conflicts with third-party pricing plugins
- Stops other plugins from re-calculating composable product prices

This resolves incompatibility warnings with:
- WooCommerce Analytics
- WooCommerce Update Manager
- Third-party pricing extensions

Files modified:
- wc-composable-product.php: Version 1.1.3, HPOS declaration
- includes/Cart_Handler.php: Improved price calculation guards
- CHANGELOG.md: Documented changes

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

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
2025-12-31 17:11:29 +01:00
parent 8aaf30de99
commit 413b5d8acd
4 changed files with 43 additions and 3 deletions

View File

@@ -5,6 +5,25 @@ All notable changes to this project will be documented in this file.
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.3] - 2024-12-31
### Added
- WooCommerce HPOS (High-Performance Order Storage) compatibility declaration
- Prevents duplicate price calculations to avoid conflicts with other pricing plugins
### Fixed
- WooCommerce compatibility warnings with Analytics and other WooCommerce extensions
- Price calculation conflicts with third-party pricing plugins
### Technical
- Added `before_woocommerce_init` hook to declare HPOS compatibility
- Implemented static flag in `Cart_Handler::calculate_cart_item_price()` to prevent multiple executions
- Added `composable_price_calculated` flag to cart items to prevent re-calculation by other plugins
- Ensures composable products work with WooCommerce's modern order storage system
## [1.1.2] - 2024-12-31
### Fixed