#php #wordpress #woocommerce #checkout #product-quantity
#php #wordpress #woocommerce #Оформить покупку #продукт-количество
Вопрос:
У моего клиента на странице есть товары, которые вы можете купить 12 и 12.
- Пример 12 коробок конфет за 10 долларов.
Итак, базовое значение поля количества равно 12, если вы хотите добавить еще одно поле, вы нажимаете стрелку, и появится объявление 12, поэтому значение количества изменяется с 12 на 24.
Он основан на категориях, поэтому, если category == ’12’, базовое значение ввода равно 12.
add_filter("woocommerce_quantity_input_args", function($args, $product){
if(has_term("12", "product_cat", $product->get_id())) {
$args['input_value'] = 12;
$args['min_value'] = 12;
$args['step'] = 12;
}
return $args;
}, 10, 2);
Как мне исправить, чтобы значение количества отображалось на странице оформления заказа, если я добавлю 12×2 (24) в свою корзину, на ней будет отображаться только 12, а не то же значение количества, что и на странице магазина (24)
Ответ №1:
Вы можете использовать woocommerce_checkout_cart_item_quantity
фильтр
Таким образом, вы получаете:
function filter_woocommerce_checkout_cart_item_quantity( $item_qty, $cart_item, $cart_item_key ) {
// Get product id
$product_id = $cart_item['product_id'];
// Has term
if ( has_term( 12, 'product_cat', $product_id ) ) {
// Output
$item_qty = '<strong class="product-quantity">' . sprintf( 'amp;times;amp;nbsp;%s', 12 ) . '</strong>';
}
// Return
return $item_qty;
}
add_filter( 'woocommerce_checkout_cart_item_quantity', 'filter_woocommerce_checkout_cart_item_quantity', 10, 3 );