Strona główna Aktualności Jak w Woocommerce wyzerować szybko wszystkie stany magazynowe?

Jak w Woocommerce wyzerować szybko wszystkie stany magazynowe?

przez Tomasz

Jak w Woocommerce wyzerować szybko wszystkie stany magazynowe?

Woocommerce to najpopularniejsza platforma e-commerce oparta o WordPress. Swoją sławę zawdzięcza prostocie obsługi i ogromnym możliwościach rozbudowy. W codziennej pracy z Woocommerce właściciele sklepów często stają przed koniecznością szybkiego wyzerowania wszystkich stanów magazynowych, na przykład podczas inwentaryzacji lub zakończenia sprzedaży starej kolekcji. W tym artykule wyjaśnimy, jak zrobić to sprawnie, bezpiecznie i przy wykorzystaniu różnych narzędzi dostępnych na rynku oraz przedstawimy propozycję stworzenia własnej wtyczki automatyzującej ten proces.

Na czym polega wyzerowanie stanów magazynowych w Woocommerce?

Wyzerowanie stanów magazynowych (ang. stock quantity) oznacza ustawienie ilości wszystkich produktów na 0. Skutkuje to wyświetlaniem produktów jako niedostępnych dla klientów oraz uniemożliwieniem ich zakupu. Taka operacja powinna być wykonywana rozważnie – zawsze warto zrobić wcześniej kopię zapasową sklepu.

Dlaczego szybkie zerowanie stanów jest potrzebne?

  • Porządek w sklepie – po zakończeniu sezonu lub kolekcji chcesz uniemożliwić zakup niedostępnych produktów.
  • Inwentaryzacja – przed ponownym wprowadzeniem stanów magazynowych wyzerowanie pozwala zacząć od czystej kartki.
  • Szybka reakcja – w sytuacjach kryzysowych (np. pomyłka na magazynie) jedno kliknięcie pozwala uniknąć błędnych zamówień.

Jak można wyzerować stany magazynowe w Woocommerce?

1. Ręczna edycja produktów

Najprostsza metoda polega na wejściu do panelu administracyjnego Woocommerce i edycji każdego produktu osobno. W polu „Stan magazynowy” wpisujesz 0 i zapisujesz zmiany.

  • Zalety: Małe ryzyko błędów, pełna kontrola nad każdym produktem.
  • Wady: Bardzo czasochłonne w przypadku dużych sklepów (setki produktów).

2. Edytor zbiorczy (Bulk Edit)

Panel Woocommerce umożliwia zbiorcze działania na wybranych produktach:

  1. W zakładce Produkty wybierz wszystkich lub wybrane produkty.
  2. W menu „Masowe działania” wybierz „Edytuj” i kliknij „Zastosuj”.
  3. W Opcjach magazynowych ustaw „Zarządzaj stanem magazynowym” na „Tak” i wpisz „0” jako ilość.
  4. Zapisz zmiany.
  • Zalety: Prosto z panelu, szybciej niż ręczna edycja.
  • Wady: Ograniczona liczba produktów (stronicowanie), czasami nie obejmuje wariantów.

3. Import/eksport (CSV)

Woocommerce umożliwia eksport wszystkich produktów do pliku CSV, szybką edycję stanow w Excelu lub innym arkuszu kalkulacyjnym, a następnie import z powrotem.

  • Zalety: Skuteczność dla tysięcy produktów, możliwość backupu, łatwość powrotu do poprzednich wartości.
  • Wady: Wymaga obsługi plików CSV, importu/eksportu.

4. Automatyzacja – wtyczki i własne rozwiązania

Coraz częściej stosuje się dedykowane wtyczki lub własne skrypty PHP, które po jednym kliknięciu wyzerują stany setek czy tysięcy produktów. Przykładowe narzędzia anglojęzyczne to WP All Import czy Bulk Stock Management, jednak ich funkcjonalność może być zbędna, jeśli wymagamy jednorazowej operacji. Właśnie dlatego poniżej znajdziesz instrukcję stworzenia własnej, prostej wtyczki.

Propozycja: Własna wtyczka do szybkiego zerowania stanów magazynowych w Woocommerce

Oto instrukcja oraz kod, dzięki któremu w twoim panelu WordPress pojawi się przycisk „Wyzeruj wszystkie stany magazynowe” z paskiem postępu.

Kod wtyczki do wklejenia

<?php
/*
Plugin Name: Wyzeruj stany magazynowe WooCommerce
Description: Dodaje przycisk do wyzerowania wszystkich stanów magazynowych za jednym kliknięciem.
Version: 1.0
Author: PopSci Blog
*/

add_action('admin_menu', function () {
    add_menu_page('Wyzeruj stany magazynowe', 'Wyzeruj magazyn', 'manage_woocommerce', 'wyzeruj-magazyn', 'wyzeruj_magazyn_page');
});

function wyzeruj_magazyn_page() {
    ?>
    <h2>Wyzeruj wszystkie stany magazynowe WooCommerce</h2>
    <button id="resetStockBtn">Wyzeruj teraz!</button>
    <div id="progressBar" style="width:100%;background:#eee;margin:20px 0;"><div id="progress" style="width:0;height:20px;background:#2ecc40;"></div></div>
    <div id="resetStockMsg"></div>
    <script>
    document.getElementById('resetStockBtn').onclick = function(){
        var xhr = new XMLHttpRequest();
        xhr.open('POST', ajaxurl, true);
        xhr.setRequestHeader('Content-type','application/x-www-form-urlencoded');
        xhr.onload = function(){
            document.getElementById('resetStockMsg').innerHTML = this.responseText;
            document.getElementById('progress').style.width = '100%';
        };
        document.getElementById('progress').style.width = '50%';
        xhr.send('action=reset_woo_stock');
    }
    </script>
    <?php
}

add_action('wp_ajax_reset_woo_stock', function() {
    global $wpdb;
    $wpdb->query("UPDATE {$wpdb->prefix}postmeta SET meta_value = 0 WHERE meta_key = '_stock'");
    echo "Wszystkie stany zostały wyzerowane.";
    wp_die();
});
?>

Instrukcja instalacji

  1. Skopiuj powyższy kod do pliku o nazwie wyzeruj-magazyn.php.
  2. Prześlij plik do katalogu wp-content/plugins na serwerze.
  3. W panelu WordPress włącz wtyczkę „Wyzeruj stany magazynowe WooCommerce”.
  4. Wejdź do „Wyzeruj magazyn” w menu administracyjnym i kliknij „Wyzeruj teraz!”.
  5. Pojawi się pasek postępu i komunikat z informacją o zakończeniu operacji.

Uwaga: Przed użyciem zaleca się wykonać kopię zapasową bazy danych!

Podsumowanie

Wyzerowanie wszystkich stanów magazynowych w Woocommerce można przeprowadzić na wiele sposobów – od ręcznej edycji, przez edytor zbiorczy i eksport CSV, aż po automatyzację za pomocą wtyczki lub własnego skryptu. Kluczowe jest, by dobrać metodę do rozmiaru sklepu i własnych umiejętności. Dzięki powyższej instrukcji proces stanie się szybki i bezpieczny, a Ty odzyskasz pełną kontrolę nad magazynem swojego sklepu internetowego.

Inne ciekawe wpisy

Zostaw komentarz

Kontakt

Zapraszamy do kontaktu drogą mailową: info@odpowiedzinapytania.pl