In het bericht “WooCommerce ‘Toevoegen aan winkelwagen’ tekst wijzigen” beschrijf ik hoe binnen WooCommerce de ‘Toevoegen aan winkelwagen’ tekst gewijzigd kan worden. Helaas heeft WooThemes in versie 2.1 van de WooCommerce plugin wijzigingen doorgevoerd waardoor deze oplossing niet meer werkt.
Vanaf WooCommerce 2.1 is namelijk de ‘add_to_cart_text’ filter verwijderd:
https://github.com/woothemes/woocommerce/blob/v2.0.20/templates/loop/add-to-cart.php#L46
In plaats daarvan is er in WooCommerce 2.1 de ‘woocommerce_product_single_add_to_cart_text’ filter:
https://github.com/woothemes/woocommerce/blob/v2.1.0/includes/abstracts/abstract-wc-product.php#L449
function prefix_add_to_cart_text( $text ) { $text = __( 'Add', 'text_domain' ); return $text; } add_filter( 'woocommerce_product_single_add_to_cart_text', 'prefix_add_to_cart_text' );
Bovenstaande code kan toegevoegd worden aan het WordPress functies thema bestand (functions.php). Vaak kan de code zonder problemen aan het eind van dit bestand toegevoegd worden. Als je niet werkt met een maatwerk thema dan kan het overigens handig zijn om deze toevoeging binnen een child thema of plugin te definiëren. Op die manier kun je zonder problemen je thema blijven bijwerken.
Tekst | Filter | GitHub |
---|---|---|
Add to cart | woocommerce_product_single_add_to_cart_text | GitHub |
Read more | woocommerce_product_add_to_cart_text | GitHub |
46 reacties op “WooCommerce 2.1 ‘Toevoegen aan winkelwagen’ tekst wijzigen”
[…] Update: Gebruik je WooCommerce 2.1 of hoger dan werkt bovenstaande filter niet meer, zie voor een nieuwe oplossing het bericht: “WooCommerce 2.1 ‘Toevoegen aan winkelwagen’ tekst wijzigen“. […]
Je codeklopt niet, het is nog precies de oude code:
add_filter( 'add_to_cart_text', 'prefix_add_to_cart_text' );
moet zijn
add_filter( 'woocommerce_product_single_add_to_cart_text', 'prefix_add_to_cart_text' );
Bedankt voor het opmerken, inmiddels aangepast.
Prettig zo een site zoals deze, echter kan ik het nog steeds niet aan passen, heb je misschien een stappenplan? En waar ik deze code moet plaatsen en moet aanpassen? Ik heb altijd met andere shops gewerkt,maar dit is nieuw. Ik ben aan het sandboxen ermee,en het enigste probleem is nu dat de buttons in elkaar overlopen, dus zou ik het fijn vinden om te weten waar precies ik het moet aanpassen.
Alvast hartelijk dank.
Rick
Je kunt het code fragment in dit bericht toevoegen aan je WordPress thema functions.php bestand.
Het was al gelukt met een plugin localisation.
Bedankt in ieder geval voor de reactie.
Hoi!
Hoe komt het dat deze code alleen werkt voor de button op de productpagina zelf, en niet in de shop waar alle producten worden weergegeven? Bij dat laatste zou ik juist de code aanpassen, niet als je bij het product zelf bent, waar ruimte genoeg is voor ’toevoegen aan winkelwagentje’
Alvast bedankt voor je hulp!
Groetjes, Dagmar
Gevonden, hiervoor moet je woocommerce_product_add_to_cart_text gebruiken als filter.
Toch bedankt!
Groetjes, Dagmar
function prefix_add_to_cart_text( $text ) {
$text = __( ‘Toevoegen’, ’text_domain’ ); return $text;
}
Toevoegen aan je functions.php voldoet.
Op de plaats van ‘Toevoegen’ kun je nu alles zetten.
Werkt met de nieuwste versie.
Ik heb het onderstaande onderaan mijn functions.php gezet maar nu open hij mijn site niet meer?
function prefix_add_to_cart_text( $text ) {
$text = Koop nu!( ‘Add’, ’text_domain’ );
return $text;
}
add_filter( ‘woocommerce_product_single_add_to_cart_text’, ‘prefix_add_to_cart_text’ );
Wat heb ik fout gedaan?
Bedankt voor jullie hulp,
Ted
Het is nog in test fase, en ik wil toevoegen aan winkelwagen dus veranderen in: Koop nu!
Bedankt voor jullie reactie!
function prefix_add_to_cart_text( $text ) {
$text = Koop nu!( ‘Add’, ‘text_domain’ );
return $text;
}
zie je geen verschil met mijn code? Een paar ‘ missen
Hallo Rob,
Snelle reactie 🙂
Hij geeft deze foutmelding nadat ik jou tekst erin heb gezet:
Parse error: syntax error, unexpected T_STRING in C:\domains\schogo.nl\wwwroot\games\wp-includes\functions.php on line 4195
function prefix_add_to_cart_text( $text ) {
$text = Koop nu!( ‘Add’, ‘text_domain’ );
return $text;
}
dit is niet goed!!!
Dit dus:
function prefix_add_to_cart_text( $text ) {
$text = __( ‘Koop nu’, ‘text_domain’ ); return $text;
}
function prefix_add_to_cart_text( $text ) {
$text = __( ‘Koop nu!’, ’text_domain’ );
return $text;
}
En dan even met db cleaner je database opschonen. Het kan zijn dat eea in de oude tabellen blijft hangen.
Beste Rob,
Hartelijk dank voor je hulp, maar ik krijg het helaas niet voor elkaar!
Is het veel moeite als ik mijn functions.php even naar jou mail?
Het gaat dus om : toevoegen aan winkelwagen te veranderen in: bestellen.
Alvast bedankt voor de super hulp!
Groeten Ted
Is prima.
Met deze moet het toch lukken.
Het is een komma verkeerd of een haak.
Maakt tevens de categorieën op alfabet.
/**
* This code should be added to functions.php of your theme
**/
add_filter( ‘woocommerce_subcategory_count_html’, ‘woo_remove_category_products_count’ );
function woo_remove_category_products_count() { return; }
add_filter(‘woocommerce_default_catalog_orderby’, ‘custom_default_catalog_orderby’);
function prefix_add_to_cart_text( $text ) {
$text = __( ‘Bestellen’, ’text_domain’ );return $text;
}
add_filter(‘woocommerce_product_add_to_cart_text’, ‘prefix_add_to_cart_text’ );
function custom_default_catalog_orderby() {
return ’title’; // Can also use title and price
};
Beste Rob,
Het is mij ondertussen gelukt, de oplossing is makkelijk dan je denkt ( 3 seconden werk 🙂 )
Even de plugin downloaden : WooCommerce Customizer
Succes en geef het door!
Groeten Ted
Helemaal top Ted! Dank je.
Alle andere oplossingen werkten niet.
Goedemiddag,
Ook ik probeer de tekst te veranderen van “Toevoegen aan winkelwagen” in “Bestellen”.
Wat ik ook probeer, ik krijg het niet voor elkaar.
Wanneer ik het toevoeg aan functions.php dan krijg ik mijn site volledig blanco. Er is dan geen beweging meer in te krijgen en moet ik weer van voor af aan beginnen.
Is dit misschien ook op een eenvoudige manier op te lossen door een wijziging toe te voegen aan css-bewerker ?
Of heeft u misschien een helder en duidelijk stappenplan ?
Ik ben nl een digibeet die toch een mooie site probeert in elkaar te knutselen. Op eigen houtje en veel speurwerk hoop ik er te komen….
Alvast mijn hartelijke dank,
Daisy
Beste Daisy,
Het is mij ondertussen gelukt, de oplossing is makkelijk dan je denkt ( 3 seconden werk 🙂 )
Even de plugin downloaden : WooCommerce Customizer
Succes en geef het door!
Groeten Ted
Ted,
Je bent GENIAAL !!!!
Dank je wel.
Hier zit ik al maanden op te hakketakken…….
🙂
Thanx, zat er zelf ook mee, ben er ook blij mee, ziet er zeker beter uit nu!
http://www.schogo.nl voor als je ooit een keer software nodig hebt:-)
Wat is/word jou site ?
En de plugin is gratis, net als Whatsapp, Google, Woocommerce, en de software van Ted 🙂
Ted,
Als het 3 sec is, leg dan ook even aan een leek uit hoe de de plugin Customizer dan gebruikt. Kun je een stappenplan beschrijven?
Thanks
Hoi Hugo,
Als je eenmaal de plugin geïnstalleerd en geactiveerd hebt komt bij je WooCommerce (links in je menu bij wordpress) ‘Customizer’ erbij te staan (waar normaal ook al ‘bestellingen’ ‘coupons’ etc. staat).
Wanneer je hier op Customizer klikt wijst de rest zich vanzelf… Er staat dan duidelijk aangegeven: Button text, etc.
En Ted, hartstikke bedankt!!! Hele fijne ontdekking!
Sarah
Sarah,
Bedankt, ik moest de juiste plugin hebben, het werkt en is eenvoudig uitvoerbaar.
Groet
Hugo
Hallo,
Ik heb ook de code in mijn functions.php geplakt, maar krijg zowel in/wp-admin als op mijn site de volgende melding:
Fatal error: Cannot redeclare prefix_add_to_cart_text() (previously declared in /www/htdocs/sallyhvn/test/wp-content/themes/twentyeleven/functions.php:741) in /www/htdocs/sallyhvn/test/wp-content/themes/twentyeleven/functions.php on line 751
zou iemand mij verder kunnen helpen??
Groet,
Hallo allen,
Ik heb me eens verdiept in wat jullie in deze topic hebben opgeschreven. Ik wilde namelijk ook dat de tekst veranderd werd van ‘bestel’ naar ’toevoegen’. Maar als ik de aanpassing deed gold dat voor alle producten in mijn winkelwagen.
Ik heb bijvoorbeeld ook producten die geen prijs hebben en vind het dan niet mooi als daar ’toevoegen aan winkelwagen’ bij staat. Dus hier is mijn oplossing die ik met jullie wil delen:
In Woocommerce/includes/class-wc-product-simple.php op regel 47 kun je de button tekst veranderen van de productpagina waar alle producten op staan.
Namelijk:
/**
* Get the add to cart button text
*
* @access public
* @return string
*/
public function add_to_cart_text() {
$text = $this->is_purchasable() && $this->is_in_stock() ? __( ‘Add to cart’, ‘woocommerce’ ) : __( ‘Lees meer over dit product’, ‘woocommerce’ );
De ‘Add to cart’ kun je bijvoorbeeld veranderen in Toevoegen. Dit wilde ik in dit geval niet maar ik wilde wel producten die dus geen prijs hebben bij mij een andere tekst geven en dat is van ‘read more’ = ‘Lees meer over dit product’ geworden.
In woocommerce/includes/abstracts/abstract-wc-product.php regel 465 kun je de tekst van een simpel product vervangen.
Namelijki:
/**
* Get the add to cart button text for the single page
*
* @access public
* @return string
*/
public function single_add_to_cart_text() {
return apply_filters( ‘woocommerce_product_single_add_to_cart_text’, __( ‘Toevoegen’, ‘woocommerce’ ), $this );
}
Hier heb ik ‘Toevoegen’ van gemaakt.
Dit werkt prima !
Deze oplossing kan ik niet aanraden, omdat je wijzigingen doorvoert in een plugin die je niet zelf in beheer hebt. Je kunt nu de WooCommerce plugin niet meer updaten zonder dat de wijzigingen verloren gaan. Aangezien de WooCommerce ontwikkelaars ook regelmatig updates lanceren is dit geen ideale oplossing. De WooCommerce ontwikkelaars hebben niet voor niets filters toegepast op de betreffende teksten. Het is daarom veel slimmer om gebruik te maken van deze filters om de teksten te wijzigen!
Beste,
Als ik de aanpassing doorvoer, gaat zowel de beheer kant van wordpress als de frontend pagina op blank. Heeft u zo een oplossing?
Dank alvast!
ik heb woocommerce customizer plugin gedownload maar zie dit dus niet bij Woocommerce waar ook bestellingen, coupons e.d. staat… wat doe ik verkeerd!!??
Hoe Ellen,
Ik heb deze plugin zojuist geïnstalleerd en zie uiterst rechts bij instellingen naast de tab “e-mails” een nieuwe tab “Customizer”. Daar kan je invullen wat je wenst te veranderen. Werkt perfekt bij mij.
Dirk
hai Dirk,
dat is het ‘m nu juist… dat zie ik dus niet.. daarom vraag ik mij nu af wat doe ik nu niet goed?!
Ellen
Hoi Elen,
Ik kan enkel de werkwijze geven die ik gebruikt heb:
– Via de tab plugins/nieuwe plugin typ je in het zoekveld “WooCommerce Customizer” ( copy past heb ik gedaan) de eerste is ( bij mij toch ) de juiste
-je klikt op het knopje “nu installeren”
-enkele ogenblikken later kan je nakijken in de lijst met plugins of deze wel actief is.
-klaar.
groeten,
Dirk
hallo beste mensen
ik had een vraagje als het gaat om Product toevoegen.
ik probeer dus product te toevoegen maar ik krijg rare teksten erbij onder het plaatje dit bijvoorbeeld.
description_color: #eeeeee
description_width: 50
heading_color: #eeeeee
heading_hover_color: #ffffff
left_margin: 62
price_color: #eeeeee
product_image:
product_image_position: right
right_margin: 62
slide_background:
use_in_slider: 0
Product op voorraad
€25.00
Aan winkelwagen toevoegen
ik snap echt niet waarom het mis gaat
zou iemand mij kunnen helpen
Als ik functions.php ga aanpassen, dan krijg ik in de URL wel:
https://******.nl/wp-admin/theme-editor.php?file=functions.php&theme=mugen-child&scrollto=0&updated=true
Dus ik heb een Child theme, daarinn heb ik de code geplakt:
function prefix_add_to_cart_text( $text ) {
$text = __( ‘Koop nu’, ‘text_domain’ ); return $text;
}
Maar dan gaat zowel de site als de admin op “wit” en kan ik niks meer. Enige oplossing is de originele functions.php terug plaatsen en dan werkt de site weer.
Wat doe ik fout ?
Moeten er eerst elders stappen worden ondernomen voor ik de code kan toevoegen aan functions ?
Ik heb een probleem………weet u de oplossing?
Ik heb geprobeerd om deze code toe te voegen in de funktion.php
function prefix_add_to_cart_text( $text ) {
$text = __( ‘Toevoegen’, ‘text_domain’ ); return $text;
}
Maar in plaats daarvan slaat mijn systeem op hol en kan ik ook mijn website niet bereiken. De volgende melding verschijnt:
Parse error: syntax error, unexpected T_STRING in /home/ceesldz148/domains/fraholpro.eu/public_html/wp-content/plugins/woocommerce/includes/wc-formatting-functions.php on line 615
Wat moet ik nu doen om alles weer normaal te krijgen? Ik kan ook niet meer op het dashboard.
Bij voorbaat dank
Paul
Hallo
ik ben bezig met een website te maken voor mijn tuintafels.
omdat het gemakkelijk is om de producten in te voegen gebruik ik woocommerce.
ik wil niet dat de klant het product kan bestellen via de winkelwagen maar eerst contact met mij opneemt, omdat de tafels worden gemaakt op maat.
wanneer ik in woocommerce een product invoeg en geen prijs invul, dan krijg ik bij het product een lees meer knop die naar de detailpagina linkt.
wanneer ik bij het product een prijs invul krijg ik een winkelwagen knop.
mijn vraag is nu ik zou bij het product wel een prijs willen invullen, maar dan ook een lees meer knop krijgen die naar de detailpagina linkt ipv van winkelwagen knop
ik heb iets gelezen dat je de code zou kunnen aanpassen in loop van woocommerce.
in de map loop staat een bestand ad to cart.php en als ik die code verwijder krijg ik de prijs en is de winkelwagen knop verdwenen, maar ook de lees meer knop is dan weg bij mijn andere producten.
hier even de url van de site waar ik hem voorlopig opmaak http://2dehandskoopjes.be/
groeten
Bedankt voor je bericht. Er is een extensie beschikbaar waarmee je dit kun realiseren: http://www.woothemes.com/products/catalog-visibility-options/. Het is uiteraard ook te realiseren door de WooCommerce code aan te passen. Dit vereist echter wel enige kennis van WordPress en WooCommerce.
Ik stoei zoals iedereen met toevoegen aan winkelwagentje.
ik heb de commentaren doorgelezen,
onderaan functions php, heb ik de volgende tekst geplakt.
function prefix_add_to_cart_text( $text ) {
$text = __( ‘Toevoegen’, ‘text_domain’ ); return $text;
}
gebeurd nog niets denk dat ik het niet op de juiste plek heb neer gezet.
waar hoort deze tekst.
alvast bedankt
na een aantal verslagen te hebben gelezen voor het aanpassen van toevoegen aan winkelwagen.
de oplossing is woocommerce customizer. plugin.
werkt prima.
gr toch bedankt
Ik heb de mogelijkheid op mijn website dat de cart zichtbaar is in de header, wanneer er artikelen instaan komen er 2 buttons bij:
bekijk winkelwagen
afrekenen
de tekst “bekijk winkelwagen”‘ wil ik aanpassen maar ik weet niet waar ik dit kan doen, heb al vanalles geprobeerd (in de translate, button customizer etc)
waar kan ik dit aanpassen zodat het verkort is.
grt. Frank
Voor het bovenstaande is nu (in 2017) een plugin: https://wordpress.org/plugins/wc-custom-add-to-cart-labels/