2015-05-07 2 views
1

Как изменить количество продукта на раскрывающийся в WooCommerceКак отобразить количество в поле выбора в WooCommerce

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

+0

Я уверен, что количественные входы являются входами типа номера, так что это уже около 75% доказательств идиота, поскольку люди не могут вводить буквы. – helgatheviking

ответ

2
function woocommerce_quantity_input($data = null) { 

    global $product; 

    if (!$data) { 
    $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;', $product) 
    ); 
    } else { 
    $defaults = array(
     'input_name' => $data['input_name'], 
     'input_value' => $data['input_value'], 
     '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;', $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) { 
    $selected = $count === $defaults['input_value'] ? ' selected' : ''; 
    $options .= '<option value="' . $count . '"'.$selected.'>' . $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>'; 

} 
Смежные вопросы