Herkese merhaba. Elimde ürünlerin yer aldığı Excel dosyası mevcut. Sütunlar arasında minimum sipariş adet kısmı söz konusu. Her ürünün 40 adet varyasyonu mevcut. Her varyasyonun da kendine özel minimum adeti mevcut. Bu veriyi WP All Import ile içe aktarırken belirtmek istiyorum ki minimum sipariş adet sayısından aşağı sipariş verilemesin. Bunun için fonksiyon dosyasına bazı kodlar yazıp ekledim fakat tam aktif çalışmadı. Name oluşturup custom field olarak ekliyorum ve karşılığı olan değeri yine ekliyorum. İçe aktarmada sorun yok fakat ya kodda hata var ana ürünlere yansımıyor emin olamadım. Bu konuyu nasıl çözümleyebilirim? Fikir verebilirseniz çok sevinirim. Bir çok hazırda eklenti var fakat WP All Import ile uyumlu çalışmıyor.
Mevcut Fonksiyon dosyasında bulunan kod;
Alıntı
// Minimum sipariş miktarını zorunlu kıl
add_action('woocommerce_before_add_to_cart_quantity', 'set_minimum_order_quantity_field');
function set_minimum_order_quantity_field() {
global $product;
// Ürünün minimum sipariş miktarını al
$min_qty = get_post_meta($product->get_id(), '_min_order_quantity', true);
// Minimum sipariş miktarı varsa, JavaScript'e aktar
if (!empty($min_qty)) {
echo "<script>
jQuery(document).ready(function($) {
let qtyInput = $('input.qty');
if (qtyInput.length) {
qtyInput.attr('min', $min_qty);
if (qtyInput.val() < $min_qty) {
qtyInput.val($min_qty);
}
}
});
</script>";
}
}
// Minimum sipariş miktarına uymayan değerlerin eklenmesini engelle
add_filter('woocommerce_add_to_cart_validation', 'validate_minimum_order_quantity', 10, 2);
function validate_minimum_order_quantity($passed, $product_id) {
$min_qty = get_post_meta($product_id, '_min_order_quantity', true);
if (!empty($min_qty) && isset($_REQUEST['quantity']) && $_REQUEST['quantity'] < $min_qty) {
wc_add_notice(sprintf(__('Bu ürün için minimum sipariş miktarı %s adettir.', 'woocommerce'), $min_qty), 'error');
return false;
}
return $passed;
}
// Sepette minimum miktarı zorunlu kıl
add_filter('woocommerce_update_cart_validation', 'validate_cart_minimum_order_quantity', 10, 4);
function validate_cart_minimum_order_quantity($passed, $cart_item_key, $values, $quantity) {
$min_qty = get_post_meta($values['product_id'], '_min_order_quantity', true);
if (!empty($min_qty) && $quantity < $min_qty) {
wc_add_notice(sprintf(__('Bu ürün için minimum sipariş miktarı %s adettir.', 'woocommerce'), $min_qty), 'error');
return false;
}
return $passed;
}