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

Jak automatycznie zmniejszać stan magazynowy w WooCommerce; WooCommerce zmniejsza stan magazynowy po złożeniu zamówienia; Automatyczna aktualizacja poziomów zapasów w WooCommerce; Zmniejsz stan magazynowy przy oczekującej płatności w WooCommerce; Automatyzacja zarządzania stanem magazynowym w WooCommerce; Automatyczne zmniejszanie zapasów po złożeniu zamówienia; Kod redukcji stanu magazynowego WooCommerce; Zapobiegaj nadmiernej sprzedaży poprzez zarządzanie stanem magazynowym w WooCommerce; WooCommerce zmniejsza stan magazynowy przy zmianie statusu zamówienia; Automatyzacja 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

<?php
/**
 * Automatically reduce stock level in WooCommerce after an order is placed.
 *
 * This function hooks into the WooCommerce order status change to reduce stock levels
 * when an order is placed, preventing overselling and ensuring accurate inventory management.
 *
 * @param int $order_id The ID of the order.
 */
function wp_dudecom_reduce_stock_on_order_status_change( $order_id ) {
    // Get the order object
    $order = wc_get_order( $order_id );

    // Check if the order is valid
    if ( ! $order ) {
        return;
    }

    // Loop through each item in the order
    foreach ( $order->get_items() as $item_id => $item ) {
        // Get the product object
        $product = $item->get_product();

        // Check if the product manages stock
        if ( $product && $product->managing_stock() ) {
            // Get the current stock quantity
            $current_stock = $product->get_stock_quantity();

            // Calculate the new stock quantity
            $new_stock = $current_stock - $item->get_quantity();

            // Update the product stock quantity
            wc_update_product_stock( $product, $new_stock );
        }
    }
}
add_action( 'woocommerce_order_status_processing', 'wp_dudecom_reduce_stock_on_order_status_change', 10, 1 );
add_action( 'woocommerce_order_status_completed', 'wp_dudecom_reduce_stock_on_order_status_change', 10, 1 );
add_action( 'woocommerce_order_status_on-hold', 'wp_dudecom_reduce_stock_on_order_status_change', 10, 1 );
?>

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.