WooCommerce - Maandbedrag onder de prijs

WooCommerce - Tekst onder de Prijs Snippet

WooCommerce kent geen optie om een tekst onder de prijs van een product te plaatsen. Willen we bijvoorbeeld aangeven dat een product vanaf een bepaalde prijs ook per maand te betalen is of een andere tekst onder de prijs plaatsen dan dienen we kunnen we de diverse templates van WooCommerce aanpassen om dat te bewerkstelligen.

Handiger zou zijn om dat in één keer te kunnen doen. Daarvoor hebben we een code snippet.

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.

Tekst na de prijs snippet

De volgende code dienen we dan aan het functions.php bestand van het thema toe te voegen om een tekst na de prijs te tonen:

// tekst na de prijs voor alle producten
function qwain_custom_price_message( $price ) { 

     $textafter = '( Ook per maand te betalen )'; // Wijzig hier de tekst welke moet verschijnen na de prijs
     return $price . '<br /><span class="price-description">' . $textafter . '</span>';
}
add_filter( 'woocommerce_get_price_html', 'qwain_custom_price_message' );

Op regel 5, dien je dan de tekst te wijzigen in een eigen tekst. Let op dat je de aanhalingstekens laat staan.

Voeg je de class “price-description” toe aan het style.css bestand van je Child-Theme of via de Customize aan “Eigen CSS”, dan kun je de tekst met CSS opmaken.

Tekst na de prijs voor specifieke producten

Dezelfde code kunnen we uitbreiden willen we die tekst alleen bij een aantal producten:

// Tekst na de prijs voor specifieke producten
function qwain_custom_price_message( $price ) { 

     global $post;

     $product_id = $post->ID;
     $my_product_array = array( 125,200,399 );// Wijzig hier de product-ID's waarbij de tekst moet verschijnen
     if ( in_array( $product_id, $my_product_array )) {
          $textafter = '( Ook per maand te betalen )'; // Wijzig in eigen tekst
          return $price . '<br /><span class="price-description">' . $textafter . '</span>';
     }

     else { 
          return $price; 
     } 
}
add_filter( 'woocommerce_get_price_html', 'qwain_custom_price_message' );

Hier dien je dan de product-id’s in te geven op regel 8 (bij meerdere ID’s scheiden door een komma) en wordt de tekst alleen bij die producten getoond. Ook hier kun je je eigen tekst opgeven (regel 9) en de tekst stijlen via de CSS class “price-description”.

Maandbedrag bij productprijs > 250

Willen we de tekst alleen tonen bij producten die duurder zijn als bijvoorbeeld € 250,- dan dienen we eerst de prijs te controleren, het maandbedrag uit te rekenen en dan de tekst te plaatsen:

// maandbedrag na de prijs voor alle producten die duurder zijn als 250
function qwain_custom_price_message( $price ) { 

     global $post;
     $product_id = $post->ID;
     $product = wc_get_product( $product_id );
     $product_price = $product->get_price();
     $monthly_payment = round( ($product_price * 0.03287), 2);        // formule om maandbedrag te berekenen
     if ( $product_price > 250 ) {                                  // wijzig 250 in de vanaf prijs waarbij je de tekst wilt tonen
          $textafter = '( Maandbedrag: € ' . $monthly_payment . ')'; // de tekst die je wilt tonen
          return $price . '<br /><span class="price-description">' . $textafter . '</span>';
     }
     else { 
          return $price; 
     } 
}
add_filter( 'woocommerce_get_price_html', 'qwain_custom_price_message' );

Op regel 8 berekenen we het maandbedrag en op regel 9 controleren we of de productprijs hoger is als 250; zo ja dan tonen we het maandbedrag onder de prijs, zo niet dan tonen we niets.

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.

Op de hoogte blijven van alle WordPress Nieuwtjes, Tips & Tricks… volg ons dan op Facebook .

 

Overige Artikelen


Geef een reactie

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