WooCommerce 2.1 ‘Toevoegen aan winkelwagen’ tekst wijzigen

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 gedachten over “WooCommerce 2.1 ‘Toevoegen aan winkelwagen’ tekst wijzigen”

  1. 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' );

  2. 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

  3. 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

  4. 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.

  5. 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

      1. 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

        1. 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

          1. 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;
            }

          2. 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.

          3. 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

  6. 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
    };

    1. 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

  7. 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

    1. 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

  8. 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

    1. 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

  9. 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,

  10. 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 !

    1. 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!

  11. 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!

  12. ik heb woocommerce customizer plugin gedownload maar zie dit dus niet bij Woocommerce waar ook bestellingen, coupons e.d. staat… wat doe ik verkeerd!!??

    1. 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

        1. 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

  13. 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

  14. 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 ?

  15. 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

  16. 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

  17. 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

  18. 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

  19. 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

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *