Выпадающий список количества товара в WooCommerce

WooCommerce по-умолчанию добавляет поле ввода количества товара на страницы товара, где покупатели могут ввести нужное количество, но часто необходимо лучше контролировать этот процесс и реализовать защиту «от дурака» на своем сайте для покупателей, позволяя им ВЫБРАТЬ количество, вместо того, чтобы вводить его самостоятельно.

Для превращения вашей формы ввода количества WooCommerce в выпадающий список скопируйте следующий код в файл functions.php вашей темы:

<?php
// Поместите этот код в файл functions.php вашей темы
// заменяем поле ввода количества на выпадающий список
function woocommerce_quantity_input() {
global $product;
 
$defaults = array(
'input_name' => 'quantity',
'input_value' => '1',
'max_value' => apply_filters( 'woocommerce_quantity_input_max', '', $product ),
'min_value' => apply_filters( 'woocommerce_quantity_input_min', '', $product ),
'step' => apply_filters( 'woocommerce_quantity_input_step', '1', $product ),
'style'	=> apply_filters( 'woocommerce_quantity_style', 'float:left; margin-right:10px;', $product )
);
if ( ! empty( $defaults['min_value'] ) )
$min = $defaults['min_value'];
else $min = 1;
 
if ( ! empty( $defaults['max_value'] ) )
$max = $defaults['max_value'];
else $max = 20;
 
if ( ! empty( $defaults['step'] ) )
$step = $defaults['step'];
else $step = 1;
 
$options = '';
for ( $count = $min; $count <= $max; $count = $count+$step ) {
$options .= '<option value="' . $count . '">' . $count . '</option>';
}
echo '<div class="quantity_select" style="' . $defaults['style'] . '"><select name="' . esc_attr( $defaults['input_name'] ) . '" title="' . _x( 'Qty', 'Product quantity input tooltip', 'woocommerce' ) . '" class="qty">' . $options . '</select></div>';
}
?>

Вот таким будет результат:
woocommerce-dropdown-select-quantities[1]

По всем вопросам и отзывам просьба писать в комментарии ниже.

Не забывайте, по возможности, оценивать понравившиеся записи количеством звездочек на ваше усмотрение.

VN:F [1.9.22_1171]
Rating: 5.0/5 (1 vote cast)

Об авторе ADv

Занимаюсь разработкой сайтов и магазинов на WordPress. Оказываю платные помощь и консультации. Skype: advokat_b
  • Евгений

    Отличное решение, спасибо за пост.

    А не подскажете как сделать поле с количеством, чтобы по бокам были «+» и «-«, например, как на этом сайте — woodywords.ru/shop/fotoramki/fotoramka-korona/

    Спасибо.

    • ADv

      Изменить html контролы

  • Владислав

    У меня форма селекта с выбором количества товара добавляется и пересчитывает сумму, но… в селекте с выбором всегда отображается текущее количество — 1 после перехода в корзину, а также после обновления количества товаров в корзине… Как это исправить?

    Мои сайты:
    http://parnas-friends.ru
    http://friends-magazine.ru

  • Владислав

    Кстати, после обновления товара на странице Корзины, пересчета суммы не происходит, только при добавлении количества со страницы товара!

Scroll To Top