3 Commits

Author SHA1 Message Date
669888817b Bump version to 1.1.13 - fix product retrieval issue
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-31 23:08:53 +01:00
5564b888fc Fix product retrieval - remove strict stock check and add meta_query relation
- Removed is_in_stock() requirement to show all purchasable products
- Stock status still displayed on frontend, out-of-stock items disabled
- Added 'relation' => 'AND' to meta_query for proper multiple condition handling
- Should fix "No products available" issue

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

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-31 23:07:06 +01:00
91aca25169 Add release package v1.1.12 with checksums
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-31 23:03:57 +01:00
6 changed files with 38 additions and 4 deletions

View File

@@ -5,6 +5,37 @@ 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.13] - 2025-12-31
### Fixed
- **CRITICAL**: "No products available for selection" message showing even when products are configured
- Removed overly strict `is_in_stock()` requirement that was filtering out all products
- Products now show regardless of stock status (out-of-stock items are displayed but disabled)
- Added `'relation' => 'AND'` to meta_query for proper handling of multiple meta conditions
### Changed
- Product retrieval now shows all purchasable products, not just in-stock ones
- Stock status still displayed on frontend with appropriate styling
- Out-of-stock items shown but disabled via checkbox and visual indicators
- Frontend stock management from v1.1.0 still fully functional
### Technical
- Modified file: includes/Product_Type.php (lines 117-124, 177, 181)
- Changed from `$variation->is_in_stock() && $variation->is_purchasable()` to just `$variation->is_purchasable()`
- Changed from `$product->is_in_stock() && $product->is_purchasable()` to just `$product->is_purchasable()`
- Added `'relation' => 'AND'` to meta_query array for WordPress query compatibility
### Notes
- This fixes the issue where NO products were showing in the selector
- Stock validation still occurs at add-to-cart time (Stock_Manager class)
- Frontend still displays stock badges (in stock, low stock, out of stock)
- Out-of-stock items remain non-selectable via disabled checkboxes
- All translation files remain at 100% completion (57/57 strings)
## [1.1.12] - 2025-12-31
### Fixed

View File

@@ -115,6 +115,7 @@ class Product_Type extends \WC_Product {
// Exclude composable products from selection
$args['meta_query'] = [
'relation' => 'AND',
[
'key' => '_product_type',
'value' => 'composable',
@@ -174,11 +175,11 @@ class Product_Type extends \WC_Product {
$variation_ids = $product->get_children();
foreach ($variation_ids as $variation_id) {
$variation = wc_get_product($variation_id);
if ($variation && $variation->is_in_stock() && $variation->is_purchasable()) {
if ($variation && $variation->is_purchasable()) {
$products[] = $variation;
}
}
} elseif ($product->is_in_stock() && $product->is_purchasable()) {
} elseif ($product->is_purchasable()) {
// Simple and other product types
$products[] = $product;
}

Binary file not shown.

View File

@@ -0,0 +1 @@
546b9f9dd4ef0ec174d574af301a7bbc wc-composable-product-v1.1.12.zip

View File

@@ -0,0 +1 @@
c445f1744d28cb53ef314f2dbb253aae31a7750f49f615f5c11a109274736f75 wc-composable-product-v1.1.12.zip

View File

@@ -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.12
* Version: 1.1.13
* 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.12');
define('WC_COMPOSABLE_PRODUCT_VERSION', '1.1.13');
define('WC_COMPOSABLE_PRODUCT_FILE', __FILE__);
define('WC_COMPOSABLE_PRODUCT_PATH', plugin_dir_path(__FILE__));
define('WC_COMPOSABLE_PRODUCT_URL', plugin_dir_url(__FILE__));