WooCommerce - Tekst voor Prijs Snippet
Standaard toont WooCommerce geen tekst voor de prijs op de diverse product-pagina’s. Alleen de prijs wordt getoond. Willen we wel een tekst voor de prijs dan dienen we de diverse templates van WooCommerce aan te passen.
WooCommerce kent een tweetal prijzen: de standaard verkoopprijs en de aanbiedingsprijs.
Het is mogelijk om een code-snippet aan het functions.php bestand toe te voegen om een tekst voor deze prijzen te laten verschijnen. Bij een variabel product kunnen we zelfs een variabele tekst laten opnemen. In dit artikel tonen we je de code-snippets om een eigen te kiezen tekst voor de prijzen te laten verschijnen.
Code Snippet
Een code-snippet is een klein stukje code wat we aan het functions.php bestand van het thema toevoegen om extra functionaliteit toe te voegen. Om overschrijvingen bij een update van het thema te voorkomen dient dat altijd te gebeuren in een Child-Thema.
Het gebruik en toevoegen van code-snippets hebben we in dit artikel beschreven: WordPress Code Snippets.
WooCommerce Tekst voor Standaard Prijs Snippet
De volgende code dienen we aan het functions.php bestand van het Child Thema toe te voegen om een tekst voor de prijs te laten verschijnen:
/* Tekst voor de prijs in WooCommerce */ function wooc_text_before_price_html( $price, $product ) { $retun_string = 'Prijs: ' . $price; return $return_string; } add_filter( 'woocommerce_get_price_html', 'wooc_text_before_price_html', 100, 2 );
De tekst ‘Prijs: ‘ kun je dan aanpassen naar een eigen te kiezen tekst (let op: dat je de tekst tussen de aanhalingstekens plaats).
WooCommerce Tekst voor Aanbiedings-Prijs
Om een tekst te laten verschijnen voor de aanbiedings-prijs dienen we de volgende code-snippet toe te voegen:
/* WooCommere Tekst voor de Aanbiedings-Prijs */ function wooc_text_before_sale_price_html( $price, $product ) { if ( $product->is_on_sale() ) : $return_string = str_replace( '<ins>', '<ins><br>Speciale prijs: ', $price); return $return_string; else : return $price; endif; } add_filter( 'woocommerce_get_price_html', 'wooc_text_before_sale_price_html', 100, 2 );
Hier kun je de tekst ‘Speciale prijs: ‘ naar eigen wens aanpassen (en ook hier de aanhalingstekens laten staan).
WooCommerce Tekst voor beide prijzen
Beide hiervoor getoonde code-snippets zijn te combineren in één:
/* WooCommerce Tekst voor standaard prijs en aanbiedingsprijs */ function wooc_text_before_price_html( $price, $product ) { if ( $product->is_on_sale() ) : $has_sale_text = array( '<del>' => '<del>Standaard prijs: ', '<ins>' => '<br>Speciale prijs: <ins>' ); $return_string = str_replace(array_keys( $has_sale_text ), array_values( $has_sale_text ), $price); else : $return_string = 'Standaard prijs: ' . $price; endif; return $return_string; } add_filter( 'woocommerce_get_price_html', 'wooc_text_before_price_html', 100, 2 );
Pas ook hier de teksten naar eigen wens aan. Dat zijn de teksten ‘Standaard prijs: ‘ en ‘Speciale prijs:’. Hier dien je de codes <del> en <ins> te laten staan voor een correcte werking.
Door toevoeging van de html-code “<br>” bij de ‘Speciale prijs’ wordt die prijs op een volgende regel getoond i.p.v. op dezelfde regel. Wil je dat niet, kun je die code weglaten.
WooCommerce Variabele Product Prijzen
Bij producten met variaties van het product (bijvoorbeeld een product met diverse gewichten of inhoud) kunnen we een variabele tekst voor de prijs laten tonen.
Voorbeeld:
In dit voorbeeld hebben we de tekst “Prijs per zak (xx-kg): ” voor de prijs geplaatst. Het gewicht hebben we aan die tekst toegevoegd en wordt overgenomen van het gewicht-veld uit het variabele product.
Om dit te realiseren hebben we de volgende code-snippet gebruikt:
/* WooCommerce Tekst met variabel gewicht voor Variabel Product */ function wooc_text_before_price_html( $price, $product ) { $prod_weight = $product->get_weight(); /* product gewicht ophalen */ if ( $product->is_on_sale() ) : $has_sale_text = array( '<del>' => '<del>Prijs per zak (' . $prod_weight . 'kg): ', /* tekst voor aanbieding standaard prijs */ '<ins>' => '<br>Aanbieding: <ins>' /* tekst voor aanbiedings-prijs */ ); $return_string = str_replace(array_keys( $has_sale_text ), array_values( $has_sale_text ), $price); else : $return_string = 'Prijs per zak (' . $prod_weight . 'kg): ' . $price; /* tekst voor standaardprijs met variabel gewicht */ endif; return $return_string; } add_filter( 'woocommerce_get_price_html', 'wooc_text_before_price_html', 100, 2 );
Deze snippet haalt eerst het gewicht op uit het variabel product welke dan in de tekst wordt tussengevoegd.
Vragen & Info
Heb je vragen naar aanleiding van dit artikel, stuur ons dan een mail op: info@qwain.nl of geef een reactie via onderstaand reactie-formulier.
Ondersteuning staat bij ons op nummer 1, wij zijn je graag van dienst !
Op de hoogte blijven van alle WordPress Nieuwtjes, Tips & Tricks… schrijf je dan in voor onze nieuwsbrief
en volg ons op Facebook .
Overige Artikelen