Allegro Ads – Czyli “AdWords” na Allegro
10 października 2015
Google Analytics i ograniczenia darmowej wersji
28 października 2015

[WooCommerce] Usunięcie ceny wariantów – wyświetlanie jednej ceny

Dziś bardzo szybko, ale treściwie 🙂

Czasem jest tak, że posiadając kilka wariantów produktu pokazuje nam dwie ceny na głównej stronie (stronach kategorii i innych) np. 50 – 750zł

Poniższy kod wklejamy do Child Theme motywu (wersja bezpieczna) w plik functions.php

add_filter( 'woocommerce_variable_sale_price_html', 'wc_wc20_variation_price_format', 10, 2 );
add_filter( 'woocommerce_variable_price_html', 'wc_wc20_variation_price_format', 10, 2 );
function wc_wc20_variation_price_format( $price, $product ) {
    // Main Price
    $prices = array( $product->get_variation_price( 'min', true ), $product->get_variation_price( 'max', true ) );
    $price = $prices[0] !== $prices[1] ? sprintf( __( '%1$s', 'woocommerce' ), wc_price( $prices[0] ) ) : wc_price( $prices[0] );
    // Sale Price
    $prices = array( $product->get_variation_regular_price( 'min', true ), $product->get_variation_regular_price( 'max', true ) );
    sort( $prices );
    $saleprice = $prices[0] !== $prices[1] ? sprintf( __( '%1$s', 'woocommerce' ), wc_price( $prices[0] ) ) : wc_price( $prices[0] );

    if ( $price !== $saleprice ) {
        $price = '' . $saleprice . ' ' . $price . '';
    }
    return $price;
} 

Tym sposobem wyświetlana jest tylko wersja najtańszego wariantu.

Artykuł powstał na podstawie zgłoszenia klienta Impregnat do Kamienia – Zgłaszany problem: Po zawirusowaniu woocommerce i przywróceniu do stanu z przed infekcji wiele funkcji przestało działać lub działały nieprawidłowo w tym m.in. wyświetlanie wariantów WooCommerce (min-max) zamiast pojedyńczej, najtańszej wersji danego produktu.

Zobacz również: Jak usunąć cenę “Za Darmo” w WooCommerce?

Jakub Jaworowicz
Jakub Jaworowicz
Marketingiem zajmuję się do 15 roku życia, zacząłem od brzydkich stron w kreatorze stron usługi Republika serwisu Onet - obecnie obsługuje ponad 200 klientów i 450 serwisów WWW, które tworzyłem lub mam je pod swoją opieką (w zakresie wsparcia i utrzymania). Obecnie jestem Specjalistą ds Marketingu w największym ogrodniczym sklepie internetowym (SADOWNICZY.PL) oraz Kierownikiem działu wsparcia sprzedaży.

8 Komentarze

  1. Maciej Głowski napisał(a):

    Witam, przydatny wpis, jednak ja szukam jeszcze coś takiego, żeby nie pokazywała się w ogóle cena i nie było też informacji “produkt za darmo” (jest automatycznie dodawana jak ustawiam cenę na 0 lub -). Chodzi o produkt z wariantami. Nie ma być widocznych cen i brak możliwości dodania do koszyka. Z góry dzięki za jakieś pomysły 🙂 Pozdrawiam.

  2. mawww napisał(a):

    Czy możesz pokazać zrzuty ekranu bo próbuje próbuję i jedyne co mi wychodzi to błąd strony i komunikat:

    Parse error: syntax error, unexpected ‘:’ in /wp-content/themes/twentysixteen/functions.php on line 414

  3. mateusz napisał(a):

    Cześć ! Chciałbym odgrzebać temat. Na wstępie dzięki za funkcje – działa. Zastanawiam się czy dałoby się zmodyfikować w ten sposób żeby zakres cen wariantów NA STRONIE produktu nie był w ogóle widoczny a na pozostałych stronach było tak jak jest teraz – cena minimalna? Dzięki

  4. kolarz napisał(a):

    Wielkie dzięki za pomoc – kod wklejony, cały sklep się wyje…..ł. Koszt backupu – 50 zł.

    • Jakub Jaworowicz napisał(a):

      Bardzo mi przykro, że to Cię spotkało – nie mniej jednak w przypadku, gdyby kod powodował problem wystarczy odnaleźć plik do którego został dodany przez FTP, usunąć modyfikacje i wgrać plik ponownie. Na podstawie informacji, które otrzymałem ciężko stwierdzić też jaki mógłbyc tego powód, a samo wgranie backupu (całego WordPress jak podejrzewam) było działaniem trochę na wyrost.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *