__('Composable Options', 'wc-composable-product'), 'target' => 'composable_product_data', 'class' => ['show_if_composable'], 'priority' => 21, ]; return $tabs; } /** * Add fields to general tab */ public function add_general_fields() { global $product_object; if ($product_object && $product_object->get_type() === 'composable') { echo '
'; woocommerce_wp_text_input([ 'id' => '_composable_selection_limit', 'label' => __('Selection Limit', 'wc-composable-product'), 'description' => __('Maximum number of items customers can select. Leave empty to use global default.', 'wc-composable-product'), 'desc_tip' => true, 'type' => 'number', 'custom_attributes' => [ 'min' => '1', 'step' => '1', ], ]); woocommerce_wp_select([ 'id' => '_composable_pricing_mode', 'label' => __('Pricing Mode', 'wc-composable-product'), 'description' => __('How to calculate the price. Leave empty to use global default.', 'wc-composable-product'), 'desc_tip' => true, 'options' => [ '' => __('Use global default', 'wc-composable-product'), 'sum' => __('Sum of selected products', 'wc-composable-product'), 'fixed' => __('Fixed price', 'wc-composable-product'), ], ]); echo '
'; } } /** * Add product data panel */ public function add_product_data_panel() { global $post; ?>