Snippet

Automatyczne zmniejszanie poziomu zapasów po złożeniu zamówienia w WooCommerce

Jak automatycznie zmniejszać stan magazynowy w WooCommerceWooCommerce zmniejsza stan magazynowy po złożeniu zamówieniaAutomatyczna aktualizacja poziomów zapasów w WooCommerceZmniejsz stan magazynowy przy oczekującej płatności w WooCommerceAutomatyzacja zarządzania stanem magazynowym w WooCommerceAutomatyczne zmniejszanie zapasów po złożeniu zamówieniaKod redukcji stanu magazynowego WooCommerceZapobiegaj nadmiernej sprzedaży poprzez zarządzanie stanem magazynowym w WooCommerceWooCommerce zmniejsza stan magazynowy przy zmianie statusu zamówieniaAutomatyzacja redukcji stanu magazynowego w WordPressie

Objaśnienie

Ten fragment kodu został zaprojektowany, aby pomóc w automatycznym zarządzaniu zapasami w Twoim sklepie WooCommerce poprzez redukcję poziomów zapasów za każdym razem, gdy składane jest zamówienie. Pomaga to zapobiegać nadmiernej sprzedaży i utrzymuje dokładność zapasów.

Jak to działa:

  • Gdy zamówienie zostanie złożone i jego status zmienia się na "w trakcie realizacji", "zrealizowane" lub "wstrzymane", kod wchodzi w życie.
  • Sprawdza każdy przedmiot w zamówieniu, aby zobaczyć, czy zarządzanie zapasami jest włączone dla produktu.
  • Jeśli zarządzanie zapasami jest włączone dla produktu, kod oblicza nowy poziom zapasów, odejmując zamówioną ilość od aktualnego stanu magazynowego.
  • Ilość zapasów produktu jest następnie aktualizowana, aby odzwierciedlić nową wartość.

Uwaga: Ten kod jest uruchamiany przez określone statusy zamówienia, co zapewnia, że zapasy są redukowane tylko wtedy, gdy zamówienie jest potwierdzone lub w trakcie realizacji, co zapobiega przedwczesnej redukcji zapasów.

Kod

1<?php 2/** 3 * Automatically reduce stock level in WooCommerce after an order is placed. 4 * 5 * This function hooks into the WooCommerce order status change to reduce stock levels 6 * when an order is placed, preventing overselling and ensuring accurate inventory management. 7 * 8 * @param int $order_id The ID of the order. 9 */ 10function wp_dudecom_reduce_stock_on_order_status_change( $order_id ) { 11 // Get the order object 12 $order = wc_get_order( $order_id ); 13 14 // Check if the order is valid 15 if ( ! $order ) { 16 return; 17 } 18 19 // Loop through each item in the order 20 foreach ( $order->get_items() as $item_id => $item ) { 21 // Get the product object 22 $product = $item->get_product(); 23 24 // Check if the product manages stock 25 if ( $product && $product->managing_stock() ) { 26 // Get the current stock quantity 27 $current_stock = $product->get_stock_quantity(); 28 29 // Calculate the new stock quantity 30 $new_stock = $current_stock - $item->get_quantity(); 31 32 // Update the product stock quantity 33 wc_update_product_stock( $product, $new_stock ); 34 } 35 } 36} 37add_action( 'woocommerce_order_status_processing', 'wp_dudecom_reduce_stock_on_order_status_change', 10, 1 ); 38add_action( 'woocommerce_order_status_completed', 'wp_dudecom_reduce_stock_on_order_status_change', 10, 1 ); 39add_action( 'woocommerce_order_status_on-hold', 'wp_dudecom_reduce_stock_on_order_status_change', 10, 1 ); 40?>

Instrukcja

Lokalizacja pliku: Dodaj kod do pliku functions.php swojego motywu lub do pliku własnej wtyczki.

Wymagania wstępne:

  • Upewnij się, że WooCommerce jest zainstalowane i aktywowane na Twojej stronie WordPress.
  • Produkty powinny mieć włączone zarządzanie stanem magazynowym.

Kroki wdrożenia:

  1. Zaloguj się do panelu administracyjnego WordPress.
  2. Przejdź do Wygląd > Edytor motywu, jeśli dodajesz kod do pliku functions.php. Alternatywnie, przejdź do Wtyczki > Edytor, jeśli używasz własnej wtyczki.
  3. Znajdź i otwórz plik functions.php lub plik swojej własnej wtyczki.
  4. Skopiuj podany fragment kodu.
  5. Wklej kod na końcu pliku functions.php lub pliku własnej wtyczki.
  6. Kliknij Aktualizuj plik, aby zapisać zmiany.
  7. Przetestuj funkcjonalność, składając testowe zamówienie i sprawdzając, czy poziomy zapasów są odpowiednio zmniejszone.

Jeśli potrzebujesz pomocy przy wdrożeniu lub bardziej zaawansowanej funkcjonalności, rozważ skorzystanie z usług wp-dude.com.