WooCommerce teksten wijzigen

In het bericht “WooCommerce ‘Toevoegen aan winkelwagen’ tekst wijzigen” schreef ik al hoe je een specifieke WooCommerce tekst kon wijzigen. Helaas zijn met behulp van deze oplossing niet alle WooCommerce teksten te wijzigen. Toch komt het wel eens voor dat ook andere teksten gewijzigd moet worden. Binnen bepaalde webwinkels is “Bestellen” bijvoorbeeld een betere vertaling voor  “Checkout”  in plaats van “Afrekenen”.

Met behulp van de volgende code kunnen alle WooCommerce teksten eenvoudig aangepast worden.

/**
 * Translate WooCommerce text
 *
 * @link http://codex.wordpress.org/Plugin_API/Filter_Reference/gettext
 */
function prefix_translate_woocommerce( $translated_text, $text, $domain ) {
	if ( $domain == 'woocommerce' ) {
		switch ( $text ) {
			case 'Checkout →' :
				$translated_text = 'Bestellen';
				break;
			case 'Add to Cart' :
			case 'Add to cart' :
				$translated_text = 'Bestellen';
				break;
		}
	}

	return $translated_text;
}

add_filter( 'gettext', 'prefix_translate_woocommerce', 20, 3 );

20 gedachten over “WooCommerce teksten wijzigen”

  1. Goedenavond,

    Wanneer ik bovenstaande code toevoeg aan functions.php verandert er niets, terwijl het met de code uit het artikel “toevoegen aan winkelwagen” wel goed ging..
    Wat gaat er verkeerd?

  2. Beste Remco,

    Heb je toevallig enig idee of het mogelijk is om een ”leeg winkelwagen” tekst of ”X” toe te voegen in de WC sidebar cart?

    Ik moet nu elke keer naar de winkelwagen page om hem te legen.

      1. Ontzettend bedankt!

        Nu kom ik achter een nieuw probleem:

        Ik heb gratis verzenden ingesteld boven de 100 euro. Wanneer de winkelwagen hoger dan 100 is, dan komt er bij verzendopties een rondje bij met ”gratis verzenden”. Deze moet de klant zelf aanvinken. Doet de klant dit niet, dan blijft het rondje staan op vast tarief van 6,75.

        Is het mogelijk om boven de 100 euro de gratis verzendoptie automatisch te laten aanvinken?

        Bij voorbaat dank!

        1. Als het niet een instelling is binnen WooCommerce dan zal dit standaard waarschijnlijk niet mogelijk zijn. Er is vast wel een oplossing voor te bedenken, maar die kan ik je zo snel niet geven.

  3. Hoi Remco,

    Misschien niet helemaal ‘on topic’ maar probeer het toch maar even.
    Hoe kan je het bestelformulier zo aanpassen dat er i.p.v. ‘adres’ ‘straatnaam & huisnummer’ komt te staan. In de Woocommerce core files zie ik nergens iets staan wat hierop lijkt. Heb je toevallig een oplossing?

    Wij krijgen nu soms orders zonder huisnummer. Wil zit zo proberen te voorkomen. Weet jij hier iets op?

    1. Je kunt met plugins de afrekenen velden uitbreiden en/of aanpassen:
      http://www.woothemes.com/products/woocommerce-checkout-field-editor/

      Met behulp van filters en acties kun je de velden ook aanpassen:
      http://docs.woothemes.com/document/tutorial-customising-checkout-fields-using-actions-and-filters/

      Eventueel kun je ook de vertaling van ‘Address’ aanpassen zoals in dit blog bericht beschreven is:
      https://github.com/woothemes/woocommerce/blob/v2.0.12/classes/class-wc-countries.php#L697

    1. Je kunt de code in het functions.php bestand van je thema plaatsen. Als je echter gebruik maakt van een thema die je niet zelf ontwikkeld hebt dan kun je het beste een child thema of een plugin ontwikkelen. Mocht je hier geen ervaring mee hebben dan kun je waarschijnlijk het beste een WordPress ontwikkelaar inschakelen (bijvoorbeeld http://www.pronamic.nl/).

  4. Ik wil graag de hele site vertalen naar Nederlands. Heb Woocommerce NL plugin geinstalleerd, wordpress in Nederlands (terwijl dashboard nog wel in Engels wordt weergegeven), maar de teksten e.d. zijn nog steeds in het Engels. Wat doe ik fout? Om nu alles te translaten leek me wat veel werk…

    1. Je kunt het beste even je WordPress installatie bijwerken naar de laatste versie. Vervolgens kun je in je WordPress admin omgeving onder “Instellingen » Algemeen” de “Websitetaal” instelling op “Nederlands” zetten.

  5. Hallo Remco,

    In de bevestigingsmail wat naar de klant word gestuurd staat “Onze Bankgegevens”, kan ik deze tekst ook verwijderen?
    En is het mogelijk de teksten als “Bestelling: XXXX” en “Klantgegevens” te verkleinen?

    Met vriendelijke groet,

    Collin

    1. WooCommerce is erg goed aan te passen naar je wensen. Je kunt bijvoorbeeld je eigen WooCommerce e-mailsjablonen definiëren in je thema.

      https://github.com/woothemes/woocommerce/blob/2.2.4/templates/emails/customer-processing-order.php#L51

      https://github.com/woothemes/woocommerce/blob/2.2.4/templates/emails/customer-completed-order.php#L51

      Hoe dit werkt kun je lezen in het volgende artikel:
      http://docs.woothemes.com/document/template-structure/

      Mocht je hier geen ervaring mee hebben dan kun je waarschijnlijk het beste een WordPress ontwikkelaar inschakelen (bijvoorbeeld http://www.pronamic.nl/).

  6. In principe is het nog beter wanneer je een programma zoals Poedit gebruikt om .po bestanden te bewerken en op te slaan. Teksten worden hierdoor ook een stuk sneller ingeladen dan wanneer ze in een PHP array te vinden zijn.

  7. Beste Remco

    Ik wil graag de titelnaam “Factuurgegevens” veranderen in “Gegevens” in mijn woocommerce_checkout
    hoe kan ik dit doen?

    met vriendelijke groet,

    Jeff Zwijsen

  8. Beste Remco,

    allereerst ontzettend bedankt voor deze behulpzame site!! Ik heb er al veel aan gehad.

    Ik gebruik de plugin woocommerce (nl) maar niet alles is vertaalt. Het betreft de kleine dingetjes als My Account, Submit etc. Ik heb me al rot gezocht in de php bestanden, sommige hardcore aangepast, maar ik kan niet alles vinden.

    Nu heb ik geprobeerd bovenstaande code in mijn function.php te zetten, maar er veranderd niets…. Weet jij misschien waar ik het moet zoeken?

    Alvast bedankt voor de hulp!

Geef een reactie

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

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>