我是WooCommerce和PHP的新手,我计划在WooCommerce中为简单和可变的产品添加一个字段,在那里我可以控制最小订单量.
基于此,例如,当它设置为10时,WooCommerce购物车计数器应自动更改为该数字,并且用户不能减少订单的值,因为最小订单数量已设置为10.
所以我想要lowest个最小订货量(因为购物车只能使用一个最小订货量)
以下是我的代码:
/*Minimum Order - Simple & Variable Product*/
// Add minimum order field to product options
function add_minimum_order_field() {
global $product_object;
woocommerce_wp_text_input(
array(
'id' => 'minimum_order',
'class' => 'wc_input_price short',
'label' => 'Minimim Order',
'desc_tip' => true,
'description' => 'Set mimimum order for this product',
'value' => get_post_meta($product_object->get_id(), 'minimum_order', true), // Populate the field with the saved value
)
);
}
add_action('woocommerce_product_options_pricing', 'add_minimum_order_field');
// Save minimum order field value
function save_minimum_order_field($product) {
$minimum_order = isset($_POST['minimum_order']) ? wc_clean($_POST['minimum_order']) : '';
$product->update_meta_data('minimum_order', $minimum_order);
}
add_action('woocommerce_admin_process_product_object', 'save_minimum_order_field');
// Add minimum order field to product variations
function add_minimum_order_field_to_variations($loop, $variation_data, $variation) {
woocommerce_wp_text_input(
array(
'id' => 'minimum_order[' . $variation->ID . ']',
'class' => 'wc_input_price short',
'label' => 'Minimim Order',
'desc_tip' => true,
'description' => 'Set mimimum order for this variation',
'value' => get_post_meta($variation->ID, 'minimum_order', true), // Populate the field with the saved value
)
);
}
add_action('woocommerce_variation_options_pricing', 'add_minimum_order_field_to_variations', 10, 3);
// Save minimum order field value for product variations
function save_minimum_order_field_for_variations($variation_id, $i) {
$minimum_order = isset($_POST['minimum_order'][$variation_id]) ? wc_clean($_POST['minimum_order'][$variation_id]) : '';
update_post_meta($variation_id, 'minimum_order', $minimum_order);
}
add_action('woocommerce_save_product_variation', 'save_minimum_order_field_for_variations', 10, 2);
// Validate minimum order on add to cart
function validate_minimum_order($passed, $product_id, $quantity) {
$minimum_order = get_post_meta($product_id, 'minimum_order', true);
if ($quantity < $minimum_order) {
wc_add_notice(sprintf('the minimum order must be %s.', $minimum_order), 'error');
$passed = false;
}
return $passed;
}
add_filter('woocommerce_add_to_cart_validation', 'validate_minimum_order', 10, 3);
但使它的工作,因为我需要得到lowest最低订单数量将适用于购物车预期.
如何根据购物车项目的lowest个最小订货量来设置简单和可变产品的最小订货量?