Goedenavond allemaal,
Iemand enige idee hoe ik de prijs van een product inclusief en exclusief BTW kan weergeven in de woocommerce?
Groetjes,
E.A.
- woocommerce: prijzen incl. excl btw weergeven
-
19-01-2022, 20:37 #1
- Berichten
- 282
- Lid sinds
- 15 Jaar
woocommerce: prijzen incl. excl btw weergeven
-
In de schijnwerper
-
19-01-2022, 23:21 #2
- Berichten
- 392
- Lid sinds
- 9 Jaar
Re: woocommerce: prijzen incl. excl btw weergeven
Avond,
misschien heb je hier wat aan ;)
Groeten Ron
-
20-01-2022, 09:49 #3
- Berichten
- 1.274
- Lid sinds
- 16 Jaar
Re: woocommerce: prijzen incl. excl btw weergeven
misschien heb je hier wat aan ;)Groeten Ron
@TS Je zult een aanpassing in de code moeten maken. Daarvoor is het verstandig om eerst een goede backup + childtheme aan te maken, omdat anders je aanpassing bij een update kan worden overschreven.
De code is uit 2020, maar kan ook alweer achterhaald zijn en is niet voor variabele producten:
https://stackoverflow.com/questions/...in-woocommerce
-
20-01-2022, 11:30 #4
- Berichten
- 392
- Lid sinds
- 9 Jaar
-
20-01-2022, 17:48 #5
- Berichten
- 459
- Lid sinds
- 12 Jaar
Re: woocommerce: prijzen incl. excl btw weergeven
Het kan wel maar moet inderdaad met code. Je kan het op verschillende manier doen. Welke manier wil je?
Nu zit ik tussendoor een calculator te bouwen voor WooCommerce zonder plugin. Dus je kan ook makkelijk de prijs inclusief en exclusief tonen.
Als ik tijd heb zal ik een code erin gooien, tenzij iemand meer tijd heeft dan ik op dit moment.
Succes...
-
20-01-2022, 17:51 #6
- Berichten
- 459
- Lid sinds
- 12 Jaar
Re: woocommerce: prijzen incl. excl btw weergeven
Sorry, snel opgezocht. Zie hier https://stackoverflow.com/questions/...in-woocommerce
Moet de woocommerce_get_price_html filter gebruiken.
add_filter('woocommerce_get_price_html', 'display_prices_incl_and_excl_taxes', 100, 2 );
function display_prices_incl_and_excl_taxes( $price_html, $product ) {
global $woocommerce_loop;
// On single product pages only (and not on any product loop)
if( isset($woocommerce_loop['total']) && $woocommerce_loop['total'] == 0
&& isset($woocommerce_loop['total']) && empty($woocommerce_loop['name']) ) {
// For simple products and products variations
if( $product->is_type('simple') || $product->is_type('variation') ) {
// On sale products
if( $product->is_on_sale() ) {
$regular_price_incl_tax = wc_get_price_including_tax( $product, array( 'price' => $product->get_regular_price() ) );
$price_incl_tax_html = wc_format_sale_price( $regular_price_incl_tax, wc_get_price_including_tax( $product ) );
$regular_price_excl_tax = wc_get_price_excluding_tax( $product, array( 'price' => $product->get_regular_price() ) );
$price_excl_tax_html = wc_format_sale_price( $regular_price_excl_tax, wc_get_price_excluding_tax( $product ) );
}
// Not on sale
else {
$price_incl_tax_html = wc_price( wc_get_price_including_tax( $product ) );
$price_excl_tax_html = wc_price( wc_get_price_excluding_tax( $product ) );
}
}
// variable pproducts
elseif( $product->is_type('variable') ) {
$prices = $product->get_variation_prices( true );
if ( ! empty( $prices['price'] ) ) {
$act_keys = array_keys($prices['price']);
$reg_keys = array_keys($prices['regular_price']);
$min_price_incl_tax = wc_get_price_including_tax( wc_get_product(reset($act_keys)));
$max_price_incl_tax = wc_get_price_including_tax( wc_get_product(end($act_keys)));
$min_price_excl_tax = wc_get_price_excluding_tax( wc_get_product(reset($act_keys)));
$max_price_excl_tax = wc_get_price_excluding_tax( wc_get_product(end($act_keys)));
$min_reg_price_jncl_tax = wc_get_price_including_tax( wc_get_product(reset($reg_keys)));
$max_reg_price_incl_tax = wc_get_price_including_tax( wc_get_product(end($reg_keys)));
$min_reg_price_excl_tax = wc_get_price_excluding_tax( wc_get_product(reset($reg_keys)));
$max_reg_price_excl_tax = wc_get_price_excluding_tax( wc_get_product(end($reg_keys)));
if ( $min_price_excl_tax !== $max_price_excl_tax ) {
$price_incl_tax_html = wc_format_price_range( $min_price_incl_tax, $max_reg_price_incl_tax );
$price_excl_tax_html = wc_format_price_range( $min_price_excl_tax, $max_reg_price_excl_tax );
}
elseif ( $product->is_on_sale() && $min_reg_price_excl_tax === $max_reg_price_excl_tax ) {
$price_incl_tax_html = wc_format_sale_price( wc_price( $max_reg_price_incl_tax ), wc_price( $min_price_incl_tax ) );
$price_excl_tax_html = wc_format_sale_price( wc_price( $max_reg_price_excl_tax ), wc_price( $min_price_excl_tax ) );
}
else {
$price_incl_tax_html = wc_price( $min_price_incl_tax );
$price_excl_tax_html = wc_price( $min_price_excl_tax );
}
}
}
if ( isset($price_incl_tax_html) && isset($price_excl_tax_html) ) {
$price_html = '<bdi><span class="inc-vat-price"></span>' . $price_incl_tax_html . '<bdi><br>';
$price_html .= '<bdi><span class="ex-vat-price">'. __("Tax Free") . ' - </span>' . $price_excl_tax_html . '<bdi><br>';
$price_html .= $product->get_price_suffix();
}
}
return $price_html;
}
Veel plezier..
Plaats een
- + Advertentie
- + Onderwerp
Marktplaats
Webmasterforum
- Websites algemeen
- Sitechecks
- Marketing
- Domeinen algemeen
- Waardebepaling
- CMS
- Wordpress
- Joomla
- Magento
- Google algemeen
- SEO
- Analytics
- Adsense
- Adwords
- HTML / XHTML
- CSS
- Programmeren
- PHP
- Javascript
- JQuery
- MySQL
- Ondernemen algemeen
- Belastingen
- Juridisch
- Grafisch ontwerp
- Hosting Algemeen
- Hardware Info
- Offtopic