Кнопка количества Woocommerce исчезнет для одной единицы на складе

Кнопка количества не появляется рядом с надписью «Добавить в корзину», когда в запасе есть единица товара. Как заставить это появиться?

2

Решение

обновленный

Это можно сделать с помощью следующей пользовательской подключенной функции в woocommerce_quantity_input_args фильтр-хук, где я нацеливаюсь на товары со складским количеством 1 только на отдельных страницах товара.

Пояснения: Если вы посмотрите в торговле исходный код для поля количества, вы увидите, что 'min_value' должны отличаться от 'max_value' чтобы получить отображаемое поле количества.

Таким образом, есть 2 варианта, чтобы отобразить поле количества:

1) Установка пустого значения в 'max_value' (что позволит установить любое значение в поле):

add_filter( 'woocommerce_quantity_input_args', 'custom_quantity_input_args', 20, 2 );
function custom_quantity_input_args( $args, $product ) {
if( $product->get_stock_quantity() == 1 && is_product() ){
$args['max_value'] = '';
}
return $args;
}

Код помещается в файл function.php вашей активной дочерней темы (active theme).

Проверено и работает.



2) Установите минимальное значение на 0 (но поле количества может быть установлено в ноль в этом случае):

add_filter( 'woocommerce_quantity_input_args', 'custom_quantity_input_args', 20, 2 );
function custom_quantity_input_args( $args, $product ) {
if( $product->get_stock_quantity() == 1 && is_product() ){
$args['min_value'] = 0;
}
return $args;
}

Код помещается в файл function.php вашей активной дочерней темы (active theme).

Проверено и работает.



3) Другой способ:

Вы можете включить опцию обратных заказов для каждого продукта … это всегда будет отображать поле количества.

введите описание изображения здесь

2

Другие решения

используйте этот код в вашем файле function.php:

<?php
/**
* Code should be placed in your theme functions.php file.
*/
add_filter( 'woocommerce_loop_add_to_cart_link', 'quantity_inputs_for_woocommerce_loop_add_to_cart_link', 10, 2 );
function quantity_inputs_for_woocommerce_loop_add_to_cart_link( $html, $product ) {
if ( $product && $product->is_type( 'simple' ) && $product->is_purchasable() && $product->is_in_stock() && ! $product->is_sold_individually() ) {
$html = '<form action="' . esc_url( $product->add_to_cart_url() ) . '" class="cart" method="post" enctype="multipart/form-data">';
$html .= woocommerce_quantity_input( array(), $product, false );
$html .= '<button type="submit" class="button alt">' . esc_html( $product->add_to_cart_text() ) . '</button>';
$html .= '</form>';
}
return $html;
}

источник

0

По вопросам рекламы [email protected]