Jak zmienić tekst przycisku „dodaj do koszyka” dla różnych typów produktów

W grupie WooCommerce PL na Facebooku często pojawiają się pytania o zmianę różnych tekstów w WooCommerce. Jednym z najczęściej podawanych rozwiązań to zmiana tłumaczenia. Ale czy to jest najlepsze rozwiązanie? Zobacz, jak zmienić tekst przycisku „dodaj do koszyka” w WooCommerce.
Spis treści
- Dlaczego zmiana tłumaczenia nie jest dobrym pomysłem?
- Jeśli nie tłumaczenie to co? Z pomocą przychodzą filtry
- Więcej przykładów działania filtrów i akcji w WooCommerce
Dlaczego zmiana tłumaczenia nie jest dobrym pomysłem?
Najprawdopodobniej najprostszym i najczęściej proponowanym rozwiązaniem jest aktualizacja tłumaczenia. To rozwiązanie sprawdzi się tylko na krótką metę. Dlaczego? Ponieważ po aktualizacji tłumaczenia zmiany zostaną nadpisane i będzie je trzeba wprowadzić jeszcze raz.
Można zablokować aktualizację tłumaczenia, ale wtedy jak wyjdzie nowa wersja WooCommerce to nie będziemy mieli dostępu do tłumaczeń nowych tekstów.
Dlatego uważam, że zmiana tekstów poprzez aktualizację tłumaczenia to złe rozwiązanie, które zadziała jedynie na krótką metę.
Jeśli nie tłumaczenie to co? Z pomocą przychodzą filtry
WooCommerce jest stworzony z myślą o developerach i użytkownikach, którzy będą chcieli zmodyfikować jego działanie. Bardzo dużo rzeczy można łatwo zmienić, tylko trzeba wiedzieć jak to zrobić.
Z pomocą przychodzą filtry, które pomagają zmienić wynik rożnych funkcji. Brzmi skomplikowanie? Tylko pozornie ?.
Jak zmienić tekst przycisku „dodaj do koszyka” w WooCommerce?
Poniższy kod umożliwia zmianę tekstu na przyciskach „dodaj do koszyka” dla różnych typów produktów. Jeśli chcesz zmienić tekst na przycisku dla produktów z wariantami, wystarczy, że w poniższym kodzie zmodyfikujesz tekst „Select options” na własny. Dla produktu prostego „Add to cart”.
Kod wystarczy wkleić do swojego pliku functions.php w motywie (najlepiej potomnym, aby nie utracić kodu przy aktualizacji motywu). Dzięki użyciu tego kodu zamiast modyfikacji tłumaczenia masz pewność, że po aktualizacji tłumaczenia zachowasz swoje zmiany. Masz też prawie 100% pewność, że aktualizacja WooCommerce również nie usunie Twoich zmian.
Rozwiązanie dla WooCommerce 2.6.14 i poniżej
Rozwiązanie dla WooCommerce 3.0
WooCommerce 3.0 wprowadził dużo zmian w funkcjach i powyższe rozwiązanie nie zadziała w nowym WooCommerce. Ale jest na to wtyczka WC Custom Add to Cart labels.
Możesz też skorzystać z wtyczki Własna Cena Produktu WooCommerce PRO ?.
Zobacz wszystkie funkcje wtyczki →
Więcej przykładów działania filtrów i akcji w WooCommerce
Na przełomie października i listopada przygotowałem i przeprowadziłem 2 prelekcje na WordUpach w Poznaniu i Katowicach o modyfikacji motywów WooCommerce oraz samego WooCommerce. Prezentację z Katowic możesz zobaczyć poniżej.
A na Githubie znajdziesz motyw potomny do Storefront, z gotowymi przykładami użycia filtrów i akcji: https://github.com/swoboda/storefront-child-examples
Gorąco zachęcam do wprowadzania zmian w WooCommerce właśnie w ten sposób ?.
Podsumowanie
Teraz wiesz już, jak zmienić tekst przycisku „dodaj do koszyka” w WooCommerce ?.
Jeśli masz jakieś pytania dotyczące filtrów, zostaw komentarz. Sprawdź też wtyczkę Własna Cena Produktu WooCommerce PRO oraz inne wtyczki dla Twojego sklepu na WordPress.
Zobacz wtyczki dla WordPress i WooCommerce →
Ekskluzywne porady, triki i trendy bezpośrednio na Twoją skrzynkę odbiorczą. Adres e-mail

Comments are closed.
21 komentarzy
Wszystko gra! Dzięki!
Mega. Szukam Snippeta, do podobnej rzeczy, żeby pod guzikiem, dla każdego Typu produktów dodać inny tekst np: 'simple’ wysylka w 3 dni, a dla 'variable’ wysyłka w 14 dni
Bardzo proszę :)
https://gist.github.com/swoboda/85731724872dac3c95afbd697a7f8f5e
Kod to poezja! Dzięki!
Czy aby na pewno ten kod wystarczy tylko skopiować i wkleić do pliku functions.php w motywie (potomnym)? Zrobiłam tak i pojawiła mi się biała strona na moim www. W czym zrobiłam błąd? Dopiero uczę się działania wordpressa i każda wskazówka jest dla mnie cenna.
Być może skopiowałaś razem z otwierającym tagiem
. Powinnaś skopiować od
add_filter
.U mnie nie działa, ale na angielskiej stronie znalazłem kod zmieniający sam tekst przycisku :
add_filter( 'woocommerce_product_single_add_to_cart_text’, 'woo_custom_cart_button_text’ ); // 2.1 +
function woo_custom_cart_button_text() {
return __( 'My Button Text’, 'woocommerce’ );
}
Potwierdzam, że rozwiązanie nie zadziała z najnowszym WooCommerce 3.0.x, ale zaktualizowałem artykuł i dałem link do wtyczki, która świetnie się sprawdzi w nowym WooCommerce.
Niestety wtyczka nie działa :-(
Cześć Mariusz,
co znaczy, że wtyczka nie działa? W ogóle czy nie działają modyfikacje?
Witam, czy te filtry działają również na karcie produktu? Tam chciałbym zmienić treść na przycisku „dodaj do koszyka”. Dodatkowo nie potrzebuję przycisków „+” i „-” do zmiany ilości kupowanych produktów, jak moge te przyciski ukryć?
Marek, aby usunąć przyciski „+” i „-” z karty produktu, wystarczy że włączysz sprzedaż indywidualną: https://wpde.sk/po/op7fr6po7bq1.png
Jeśli chcesz zmienić treść przycisku globalnie dla całego sklepu, możesz zastosować wtyczkę Say What lub Loco Translate:
https://pl.wordpress.org/plugins/say-what/
https://pl.wordpress.org/plugins/loco-translate/
Dzięki Piotr! To jeszcze jedno pytanie. Czy tło karty produktu „dziedziczy” kolor z motywu czy można je ustawić indywiduwlanie? Nie znalazłem wustawieniach.
To już zależy od używanego przez ciebie motywu, nie można tego ustawić przez funkcje wbudowane w WooCommerce. Z jakiego motywu korzystasz?
Labelle
Sprawdź w ustawieniach motywu czy nie ma tam opcji które za to odpowiadają. Jeśli nie, to możesz skorzystać z CSS: http://wklej.org/id/3256331/txt/
Czy możesz też podpowiedzieć jak wyłączyć „SHARE ON”?
https://uploads.disquscdn.com/images/11cfdf4cf305ccf8b882d01db2bfbe9adcb7f708a3e45ce4c0d16563a6eb074c.jpg
Thanks for sharing. I read many of your blog posts, cool, your blog is very good.
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?
Your point of view caught my eye and was very interesting. Thanks. I have a question for you.