Ukrywanie Niedostępnych Produktów w WooCommerce

Ten kod PHP pozwala na automatyczne ukrywanie produktów, które są niedostępne w magazynie, dzięki czemu sklep WooCommerce jest lepiej zorganizowany. Kod działa poprzez modyfikację głównego zapytania sklepu, aby wyświetlało tylko produkty dostępne w magazynie. Aby zastosować ten kod, wystarczy dodać go do pliku functions.php Twojego motywu WordPress.

Korzyści dla Administratora Sklepu:
  • Łatwiej zarządzasz asortymentem, ponieważ funkcja automatycznie ukrywa niedostępne produkty, zmniejszając potrzebę ręcznego zarządzania ich widocznością.
  • Dzięki poprawionej organizacji sklepu, sklep wygląda bardziej uporządkowanie, co w rezultacie ułatwia zarządzanie produktami.
Korzyści dla Klienta:
  • Lepsze doświadczenie zakupowe, ponieważ klienci widzą tylko dostępne produkty, co w rezultacie zmniejsza frustrację związaną z przeglądaniem niedostępnych artykułów.
  • Szybsze decyzje zakupowe, ponieważ przeglądanie oferty jest bardziej efektywne, co może w rezultacie przyspieszyć decyzje zakupowe.

Implementacja tego kodu pomaga w utrzymaniu przejrzystości oferty sklepu, a także poprawia ogólne doświadczenie użytkowników odwiedzających stronę.

function hide_out_of_stock_products($query) {
    if (!is_admin() && $query->is_main_query() && is_shop()) {
        $query->set('meta_query', array(
            array(
                'key'     => '_stock_status',
                'value'   => 'instock',
                'compare' => '='
            )
        ));
    }
}
add_action('pre_get_posts', 'hide_out_of_stock_products');
Wyjaśnienie Działania Kodu
  1. Funkcja hide_out_of_stock_products:
    • Funkcja ta przyjmuje jako argument zmienną $query, która reprezentuje główne zapytanie WordPressa.
    • Wewnątrz funkcji sprawdzane są trzy warunki:
      • !is_admin(): Upewnia się, że kod jest wykonywany tylko na froncie strony, a nie w panelu administracyjnym WordPressa.
      • $query->is_main_query(): Upewnia się, że modyfikowane jest główne zapytanie, a nie dodatkowe zapytania, które mogą być uruchamiane na stronie.
      • is_shop(): Upewnia się, że kod jest uruchamiany tylko na stronie sklepu WooCommerce.
  2. Modyfikacja Zapytania:
    • Jeśli wszystkie powyższe warunki są spełnione, kod modyfikuje główne zapytanie sklepu WooCommerce, dodając do niego meta_query.
    • meta_query filtruje produkty w oparciu o meta klucz _stock_status, który przechowuje status zapasów produktu.
    • Ustawienie:
      • key = _stock_status: Oznacza, że filtrujemy na podstawie statusu zapasów.
      • value = instock: Ustawia wartość filtra na instock, co oznacza, że tylko produkty dostępne w magazynie będą wyświetlane.
      • compare = =: Porównuje wartość _stock_status z instock.
  3. Dodanie Funkcji do Akcji pre_get_posts:
    • Funkcja hide_out_of_stock_products jest przypięta do akcji pre_get_posts, która jest wywoływana przed wykonaniem głównego zapytania WordPressa.
    • Dzięki temu nasza funkcja modyfikuje zapytanie, gdy WordPress tworzy je w celu pobrania produktów do wyświetlenia na stronie sklepu.
Krótka Instrukcja Implementacji Kodu

Zalecam dodanie go przez wtyczkę Code Snippets zamiast bezpośredniego edytowania pliku functions.php w motywie. Bezpośrednie edytowanie functions.php może spowodować utratę kodu, ponieważ kod może zostać usunięty po aktualizacji motywu.

Instrukcja Implementacji przez Wtyczkę Code Snippets
  1. Zainstaluj Wtyczkę Code Snippets:
    • Zaloguj się do panelu administracyjnego WordPressa.
    • Przejdź do Wtyczki > Dodaj nową.
    • Wyszukaj „Code Snippets”.
    • Zainstaluj i aktywuj wtyczkę „Code Snippets”.
  2. Dodaj Nowy Snippet:
    • Po aktywacji wtyczki, przejdź do Snippets > Add New.
    • Nadaj swojemu snippetowi tytuł, np. „Ukryj Produkty Bez Zapasów”.
  3. Wklej Kod:
    • Skopiuj powyższy kod i wklej go do pola kodu w wtyczce.
  4. Zapisz i Aktywuj Snippet:
    • Kliknij przycisk „Save Changes and Activate”.
Dlaczego Wtyczka Code Snippets?

Korzystanie z wtyczki Code Snippets ma kilka zalet:

  • Bezpieczeństwo: Aktualizacja nie usunie kodu.
  • Łatwe zarządzanie, ponieważ snippety są łatwe do zarządzania i wyłączania bez potrzeby modyfikowania plików motywu.
  • Organizacja jest lepsza, ponieważ możesz przechowywać wszystkie swoje niestandardowe kody w jednym miejscu, co ułatwia ich edycję i zarządzanie.

Imię:


Nazwisko:


Adres email:


Nazwa Twojej firmy:


NIP Twojej firmy

REGON Twojej firmy



Adres Twojej firmy

Ulica

Kod pocztowy

Miasto

Wybierz bramkę płatniczą na Twojej stronie