Отображение результата пользовательского поля состояния запаса на странице продукта l oop WooCommerce на странице отдельного продукта. - PullRequest
1 голос
/ 11 апреля 2020

У меня есть WooCommerce, и я хочу управлять несколькими пользовательскими статусами акций, такими как> «доставлено за 15 дней», «доставлено за 7 дней».

Сначала я нашел этот код (я не разработчик), который позволил мне отобразить «в наличии» или «нет в наличии» под кнопкой «Добавить в корзину» на странице товара l oop.

    //Ajoute "En stock" sous chaque produit
function show_stock() {
global $product;
if ( $product->get_stock_quantity() ) { // if manage stock is enabled 
if ( number_format($product->get_stock_quantity(),0,'','') > 0 ) { // if in stock
echo '<div class="remaining" style="color:green;">En stock</div>';
} else {
echo '<div class="remaining" style="color:red;">Rupture</div>'; 
        }
    }
}

add_action('woocommerce_after_shop_loop_item','show_stock', 10);

И это хорошо работает.


После некоторых исследований я добавил это

add_action ('woocommerce_before_add_to_cart_form','show_stock');

Для отображения на странице одного продукта и Я сделал исчезнуть с CSS оригинальной "в наличии" один. И это нормально.


Теперь я нашел решение для управления некоторыми пользовательскими сообщениями, которые отображаются в тех же местах. Затем я буду управлять пользовательскими сообщениями со склада с указанным c количеством запаса.

Например, если я поставлю 1000 штук, это вернет мне «Доставка менее 1 месяца», если я поставлю 2000 штук, что вернет мне «Доставка до 7 дней»

Во-первых, мне нужно, чтобы WooCommerce прекратил управлять акциями, так как мое количество акций остается неизменным. Я сниму флажок «Управление запасами» и введу указанное вами c количество запаса, чтобы вернуть мне мое специальное сообщение.

Я вижу в коде предварительного просмотра, чтобы получить условное управление запасами

if ( $product->get_stock_quantity() ) { // if manage stock is enabled

Но теперь мне нужно обратное, то есть условное условие, если управление запасами отключено (снимите отметку)

if ( ! $product->managing_stock()

Так что теперь мой новый код пока отсутствует, но что-то не так, потому что ничего не отображается, если я сниму отметку с управления запасами и положить 1000 в количестве акций

        //Ajoute "En stock" sous chaque produit
function show_stock() {
global $product;
if ( $product->get_stock_quantity() ) { // if manage stock is disable
if ( number_format($product->get_stock_quantity(),0,'','') = 1000 ) { // if stock = 1000 return Livraison sous 7 jours
echo '<div class="remaining" style="color:green;">Livraison sous 7 jours</div>';
}
    elseif ( number_format($product->get_stock_quantity(),0,'','') = 2000 ) { // if stock = 2000 return Livraison sous 1 mois
echo '<div class="remaining" style="color:#f2cd00;">Livraison sous 1 mois</div>';
}
    }
}

add_action('woocommerce_after_shop_loop_item','show_stock', 10);
add_action ('woocommerce_before_add_to_cart_form','show_stock');

Это потому, что, поскольку я не управляю акциями, я не могу их принять, не могу подсчитать количество акций?

...