You've already forked wc-composable-product
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:
@@ -3,7 +3,7 @@
|
||||
* Plugin Name: WooCommerce Composable Products
|
||||
* Plugin URI: https://github.com/magdev/wc-composable-product
|
||||
* Description: Create composable products where customers select a limited number of items from a configurable set
|
||||
* Version: 1.1.2
|
||||
* Version: 1.1.3
|
||||
* Author: Marco Graetsch
|
||||
* Author URI: https://example.com
|
||||
* License: GPL v3 or later
|
||||
@@ -19,7 +19,7 @@
|
||||
defined('ABSPATH') || exit;
|
||||
|
||||
// Define plugin constants
|
||||
define('WC_COMPOSABLE_PRODUCT_VERSION', '1.1.2');
|
||||
define('WC_COMPOSABLE_PRODUCT_VERSION', '1.1.3');
|
||||
define('WC_COMPOSABLE_PRODUCT_FILE', __FILE__);
|
||||
define('WC_COMPOSABLE_PRODUCT_PATH', plugin_dir_path(__FILE__));
|
||||
define('WC_COMPOSABLE_PRODUCT_URL', plugin_dir_url(__FILE__));
|
||||
@@ -64,6 +64,15 @@ function wc_composable_product_init() {
|
||||
// Use woocommerce_init to ensure all WooCommerce classes including settings are loaded
|
||||
add_action('woocommerce_init', 'wc_composable_product_init');
|
||||
|
||||
/**
|
||||
* Declare HPOS compatibility
|
||||
*/
|
||||
add_action('before_woocommerce_init', function() {
|
||||
if (class_exists(\Automattic\WooCommerce\Utilities\FeaturesUtil::class)) {
|
||||
\Automattic\WooCommerce\Utilities\FeaturesUtil::declare_compatibility('custom_order_tables', __FILE__, true);
|
||||
}
|
||||
});
|
||||
|
||||
/**
|
||||
* Activation hook
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user