1. Strona główna
  2. Baza wiedzy
  3. Jak naprawić widoczność produktów hurtowych w Bricks Builder

Jak naprawić widoczność produktów hurtowych w Bricks Builder

Jeśli korzystasz z Bricks Builder, możesz zauważyć, że produkty ograniczone dla hurtowni nadal są widoczne dla gości lub użytkowników detalicznych. Dzieje się tak, ponieważ Bricks używa własnego systemu zapytań, który omija standardowe filtry WooCommerce, na których polega WooCommerce Wholesale Prices Premium. Ten przewodnik przeprowadzi Cię przez dodanie prostego fragmentu kodu, który wymusza na Bricks poszanowanie istniejących reguł widoczności WWPP — bez dodatkowej konfiguracji.

Wymagania wstępne

Zanim zaczniesz, upewnij się, że masz:

  • WooCommerce Wholesale Prices Premium zainstalowany i aktywny
  • Zainstalowany i aktywny Bricks Builder
  • Wtyczkę do zarządzania fragmentami kodu (np. WPCode) lub dostęp do pliku functions.php swojego motywu potomnego

Krok 1: Otwórz menedżera fragmentów kodu

  1. Przejdź do pulpitu nawigacyjnego WordPress.
  2. Przejdź do Fragmenty kodu (lub preferowanej wtyczki do zarządzania fragmentami kodu).
  3. Kliknij Dodaj nowy.
Strona WPCode Dodaj nowy fragment w panelu WordPress pokazująca pusty edytor fragmentów

Krok 2: Ustaw typ fragmentu kodu

  1. Wybierz Fragment PHP jako typ.
  2. Nadaj mu opisowy tytuł, na przykład: Napraw widoczność produktów hurtowych w Bricks Builder
Edytor fragmentów WPCode z wybranym typem Fragment PHP i wypełnionym tytułem

Krok 3: Wklej kod

Skopiuj i wklej poniższy fragment do edytora:

/**
 * Make Bricks product queries (Products element) respect
 * WooCommerce Wholesale Prices Premium product visibility.
 */

add_filter(
    'bricks/posts/query_vars',
    function ( $query_vars, $settings, $element_id, $element_name ) {
        // Only affect product queries
        $post_type = $query_vars['post_type'] ?? null;
        $is_product_query =
            ( is_string( $post_type ) && 'product' === $post_type ) ||
            ( is_array( $post_type ) && in_array( 'product', $post_type, true ) );

        if ( ! $is_product_query ) {
            return $query_vars;
        }

        // Ensure WWPP is available
        global $wc_wholesale_prices_premium;
        if (
            ! isset( $wc_wholesale_prices_premium ) ||
            ! isset( $wc_wholesale_prices_premium->wwpp_query )
        ) {
            return $query_vars;
        }

        // Let WWPP apply its standard wholesale visibility logic
        // (same as for WC widgets & shortcodes)
        $query_vars = $wc_wholesale_prices_premium->wwpp_query->pre_get_posts_arg( $query_vars );

        return $query_vars;
    },
    20,
    4
);
Edytor WPCode z wklejonym kodem poprawiającym widoczność produktów w Bricks Builder

Krok 4: Ustaw lokalizację uruchomienia

  1. Ustaw fragment kodu tak, aby uruchamiał się na Frontendzie lub Wszędzie.

Zapewnia to, że fragment kodu ładuje się podczas zapytań o archiwa produktów na frontendzie Twojego sklepu.

Ustawienia wstawiania WPCode z lokalizacją ustawioną na Tylko Frontend

Krok 5: Zapisz fragment kodu

  1. Kliknij Zapisz.

Krok 6: Aktywuj fragment kodu

  1. Przełącz fragment kodu na Aktywny.

Naprawa jest teraz aktywna w Twoim sklepie.

Strona szczegółów fragmentu WPCode z włączonym przełącznikiem Aktywny pokazującym sukces

Jak sprawdzić, czy działa

  1. Wyloguj się ze swojego konta WordPress lub otwórz okno prywatnej przeglądarki.
  2. Odwiedź stronę archiwum produktów obsługiwaną przez Bricks.
  3. Potwierdź, że produkty ograniczone dla hurtowni nie są już widoczne dla gości ani odwiedzających detalicznych.
  4. Zaloguj się za pomocą konta z rolą hurtową i potwierdź, że te produkty pojawiają się zgodnie z oczekiwaniami.

Rozwiązywanie problemów

Produkty ograniczone są nadal widoczne po dodaniu fragmentu kodu

  1. Potwierdź, że fragment kodu jest ustawiony na Aktywny w menedżerze fragmentów kodu.
  2. Przejdź do WooCommerce > Ustawienia > WooCommerce Wholesale Prices > Pomoc i upewnij się, że opcja Pokazuj produkty hurtowe tylko użytkownikom hurtowym jest włączona.
  3. Wyczyść wszystkie wtyczki buforujące (np. WP Super Cache, W3 Total Cache, LiteSpeed Cache).
  4. Otwórz prywatne/incognito okno przeglądarki i przetestuj ponownie.

Fragment powoduje biały ekran lub błąd PHP

  1. Natychmiast dezaktywuj fragment za pomocą menedżera fragmentów.
  2. Potwierdź, że WooCommerce Wholesale Prices Premium i Bricks Builder są aktywne i zaktualizowane.
  3. Ponownie aktywuj fragment i przetestuj ponownie.

Często zadawane pytania

Czy to rozwiązanie będzie działać z każdą wersją Bricks Builder?

Tak. Fragment wykorzystuje filtr bricks/posts/query_vars, który jest dostępny we wszystkich aktualnych wersjach Bricks Builder używających elementu Produktów.

Czy muszę coś skonfigurować w WWPP po dodaniu kodu?

Nie. Rozwiązanie automatycznie wykorzystuje Twoje istniejące ustawienia widoczności WWPP — tę samą logikę, która jest już stosowana do widżetów i skrótów WooCommerce.

Czy to wpływa na inne typy postów niż produkty w Bricks?

Nie. Rozwiązanie uruchamia się tylko w zapytaniach, gdzie typ postu to product. Wszystkie inne zapytania Bricks pozostają całkowicie nienaruszone.

Co jeśli ograniczone produkty są nadal widoczne po dodaniu kodu?

Najpierw potwierdź, że fragment jest aktywny. Następnie sprawdź, czy Twoje ustawienie WWPP „Pokazuj produkty hurtowe tylko użytkownikom hurtowym” jest włączone. Następnie wyczyść wszystkie wtyczki buforujące i przetestuj ponownie w prywatnym oknie przeglądarki. Pełne kroki znajdziesz w sekcji Rozwiązywanie problemów powyżej.

Potrzebujesz pomocy?

Jeśli masz pytanie lub napotkasz jakiekolwiek problemy, jesteśmy tutaj, aby pomóc.

Czy ten artykuł był pomocny?
Zakończ Zakup