You've already forked wc-composable-product
Add option to include non-public products in selections (v1.3.0)
All checks were successful
Create Release Package / build-release (push) Successful in 1m6s
All checks were successful
Create Release Package / build-release (push) Successful in 1m6s
Allow draft and private products to appear in composable product selections. Useful when products should only be sold as part of a composition, not individually. Includes global setting and per-product override with translations in all 6 locales. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -95,6 +95,19 @@ class Product_Data {
|
||||
<div id="composable_product_data" class="panel woocommerce_options_panel hidden">
|
||||
<div class="options_group">
|
||||
<?php
|
||||
woocommerce_wp_select([
|
||||
'id' => '_composable_include_unpublished',
|
||||
'label' => __('Include Non-Public Products', 'wc-composable-product'),
|
||||
'description' => __('Allow draft and private products in the selection. Useful when products should only be sold as part of a composition.', 'wc-composable-product'),
|
||||
'desc_tip' => true,
|
||||
'options' => [
|
||||
'' => __('Use global default', 'wc-composable-product'),
|
||||
'yes' => __('Yes', 'wc-composable-product'),
|
||||
'no' => __('No', 'wc-composable-product'),
|
||||
],
|
||||
'value' => get_post_meta($post->ID, '_composable_include_unpublished', true) ?: '',
|
||||
]);
|
||||
|
||||
woocommerce_wp_select([
|
||||
'id' => '_composable_criteria_type',
|
||||
'label' => __('Selection Criteria', 'wc-composable-product'),
|
||||
@@ -181,6 +194,10 @@ class Product_Data {
|
||||
$pricing_mode = isset($_POST['_composable_pricing_mode']) ? sanitize_text_field($_POST['_composable_pricing_mode']) : '';
|
||||
update_post_meta($post_id, '_composable_pricing_mode', $pricing_mode);
|
||||
|
||||
// Save include unpublished
|
||||
$include_unpublished = isset($_POST['_composable_include_unpublished']) ? sanitize_text_field($_POST['_composable_include_unpublished']) : '';
|
||||
update_post_meta($post_id, '_composable_include_unpublished', $include_unpublished);
|
||||
|
||||
// Save criteria type
|
||||
$criteria_type = isset($_POST['_composable_criteria_type']) ? sanitize_text_field($_POST['_composable_criteria_type']) : 'category';
|
||||
update_post_meta($post_id, '_composable_criteria_type', $criteria_type);
|
||||
|
||||
Reference in New Issue
Block a user