Niestandardowe ceny wariantów WooCommerce

O dodawaniu wariantów dla sklepu WooCommerce krok po kroku pisał już Daniel Pietrak tu: Dodawanie produktu z wariantami
Teraz może skupmy się na wyświetlaniu cen produktów z wariantami w szablonie.
Podobno ile ludzi tyle opinii, więc nikogo nie trzeba przekonywać, że jedno rozwiązanie nie pasuje dla wszystkich.
W sieci krąży sporo porad na ten temat – wiele w języku angielskim i myślę, że warto byłoby je zebrać w jednym artykule.
1. Wyświetlanie od – do
Rozwiązanie podrzucił Łukasz Szynczewski na grupie WooCommerce PL (jeśli jeszcze nie dołączyłeś zrób to dziś!)
add_filter('woocommerce_variable_price_html', 'custom_variation_price', 10, 2);
function custom_variation_price( $price, $product ) {
$price = '';
if ( !$product->min_variation_price || $product->min_variation_price !== $product->max_variation_price )
$price .= '<span class="from">' . _x('od', 'min_price', 'woocommerce') . ' </span>'
$price .= woocommerce_price($product->get_price());
return $price;
}
2. Wyświetlanie najniższej ceny
add_filter('woocommerce_variable_price_html', 'custom_variation_price', 10, 2);
function custom_variation_price( $price, $product ) {
$price = '';
if ( !$product->min_variation_price || $product->min_variation_price !== $product->max_variation_price ) {
$price .= '<span class="Od">' . _x('Od', 'min_price', 'woocommerce') . ' </span>';
$price .= woocommerce_price($product->get_price());
}
return $price;
}
A teraz opiszę coś nad czym się trochę głowiłam – dlaczego głowiłam? Bo szukałam wtyczki, która pozwoliłaby mi na dowolny wybór, a wystarczyło trochę pomyśleć.
Jeśli uważasz, że ani najniższa ani najwyższa wyświetlana cena ci nie odpowiada (tak, tak – tak się może zdarzyć – przy niskiej cenie klient czuje się oszukany, przy wysokiej nie chce nawet zajrzeć do produktu) możesz wykorzystać moje rozwiązanie (testowane na WooCommerce 2.5).
A teraz krok po kroku –
- Zainstaluj wtyczkę Advanced Custom Field
- Dodaj nową grupę
- Dodaj nowe pole – poniżej przykładowa konfiguracja
- Zapamiętaj nazwę swojego pola i zacznij szukać loop/price.php
Gdzie go znajdziesz? Na pewno w plikach wtyczki woocommerce, być może w plikach motywu, ale najlepiej będzie jeśli po prostu stworzysz klona tego pliku i umieścisz w motywie potomnym. Ja podpowiem ci gdzie go znaleźć “oryginalnie”
…/wp-content/plugins/woocommerce/templates/loop/price.php
To bardzo krótki plik, więc z pewnością szybko znajdziesz te linie:
if ( ! defined( 'ABSPATH' ) ) {
exit; // Exit if accessed directly
}
global $product;
?>
<?php if ( $price_html = $product->get_price_html() ) : ?>
<span class="price"><?php echo $price_html; ?></span>
<?php endif; ?>
Teraz chcemy zmienić domyślną cenę, na tę wpisaną w naszym polu, a w razie gdyby pole było nieuzupełnione, żeby załadowała się domyślna. Możesz więc zrobić to tak (jeśli boisz się utracić orginalny kod, zrób kopię lub zakomentuj go stawiając przed <?php <!– a przy zamknięciu (?>) →)
<?php
if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
global $product;
$price_html = $product->get_price_html();
?>
<!--<?php if ( $price_html = $product->get_price_html() ) : ?>
<span class="price"><?php echo $price_html; ?></span>
<?php endif; ?>-->
<?php
if(get_field('cena2'))
{
echo '<span class="price">' . get_field('cena2') . '</span>';
}
else{
echo '<span class="price">' .$price_html. '</span>';}?>
Moje utworzone w ACF pole nazywa się “cena2”, ty oczywiście wpisz swoje, zapisz i odśwież stronę.
Pamiętaj tylko, że żeby zobaczyć zmiany musisz w którymś z produktów uzupełnić to dodatkowe pole ;)
Ekskluzywne porady, triki i trendy bezpośrednio na Twoją skrzynkę odbiorczą. Adres e-mail

Comments are closed.
13 komentarzy
Bardzo ciekawy dodatek do wpisy Pana Daniela
po aktualizacji WooCommerce nie wyświetlają mi się ceny produktów na stronie produktów, są nadal w produkcie ale nie ma ich na stronie. ceny dodatku WooCommerce TM Extra Product Options wyświetlają mi się jako 0.00 chociaż w produkcie tez są dobrze wpisane. bawiłem się różnymi opcjami ale to niewiele zmienia. jakieś pomysły?
Cześć Maciej,
aktualizowałeś do Woo 3.0?
czy po wyłączeniu WooCommerce TM Extra Product Options problem nadal występuję?
Przy prowadzeniu kodu by wyświetlała się tylko minimalna cena zniknęła mi informacja „z VAT” którą miałam ustawioną w ustawieniach woocommerce. Czy można to jakoś przywrócić?
Dzięki wielkie!
Pozdrawiam
Joanna Moskwa
Witam, dodaję produkty z wariantami typu rozmiar i kolor, nie różnią się jednak ani stawką podatkową, ani ceną i przy np. 10+ wariantach wpisywanie przy każdym osobno ceny i dobieranie opcji jest strasznie czasochłonne. Jest jakaś recepta na to?
Hej,
Skorzystaj z wtyczki: https://pl.wordpress.org/plugins/mq-woocommerce-products-price-bulk-edit/
Your article helped me a lot, is there any more related content? Thanks! https://www.binance.com/ka-GE/join?ref=RQUR4BEO
Your article helped me a lot, is there any more related content? Thanks!
Thank you for your sharing. I am worried that I lack creative ideas. It is your article that makes me full of hope. Thank you. But, I have a question, can you help me?
Can you be more specific about the content of your article? After reading it, I still have some doubts. Hope you can help me.
Can you be more specific about the content of your article? After reading it, I still have some doubts. Hope you can help me.
Thanks for sharing. I read many of your blog posts, cool, your blog is very good.