Forked from claudiosanches/woocommerce-installments-example.php
Last active
December 24, 2015 18:29
-
-
Save ejntaylor/6843817 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/** | |
* Plugin Name: WooCommerce VAT | |
* Plugin URI: http://raison.co/ | |
* Description: Adds VAT at 20% to products on shop and archive pages | |
* Author: raisonon | |
* Author URI: http://www.raison.co/ | |
* Version: 1.1 | |
* License: GPLv2 or later | |
*/ | |
/* IMPORTANT - Must have prices set to show product Exclusing Tax in WooCommerce Settings */ | |
/** | |
* Calculates the price + 20% VAT | |
* | |
* @return string price + 20% VAT | |
*/ | |
function cs_product_parceled() { | |
$product = get_product(); | |
if ( $product->get_price_including_tax() ) { | |
$value = woocommerce_price( $product->get_price_including_tax() * 1.2 ); | |
return $value; | |
} | |
} | |
/** | |
* Displays the price + 20% VAT on product loop. | |
* | |
* @return string price + 20% VAT | |
*/ | |
function cs_product_parceled_loop() { | |
echo '<br /><span style="color: #666; font-size: 100%" class="price">' . __( 'Incl. VAT:' ) . ' ' . cs_product_parceled() . '</span>'; | |
} | |
/** | |
* Displays the price + 20% VAT | |
* | |
* @return string price + 20% VAT | |
*/ | |
function cs_product_parceled_single() { | |
$product = get_product(); | |
?> | |
<div itemprop="offers" itemscope itemtype="http://schema.org/Offer"> | |
<p style="margin: 0;" itemprop="price" class="price"> | |
<?php echo $product->get_price_html(); ?> | |
</p> | |
<p> | |
<span style="color: #666; font-size: 100%" class="price"><?php _e( 'Incl. VAT:' ) ?> <?php echo cs_product_parceled(); ?></span> | |
</p> | |
<meta itemprop="priceCurrency" content="<?php echo get_woocommerce_currency(); ?>" /> | |
<link itemprop="availability" href="http://schema.org/<?php echo $product->is_in_stock() ? 'InStock' : 'OutOfStock'; ?>" /> | |
</div> | |
<?php | |
} | |
add_action( 'woocommerce_after_shop_loop_item_title', 'cs_product_parceled_loop', 20 ); | |
remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_price', 10 ); | |
add_action( 'woocommerce_single_product_summary', 'cs_product_parceled_single', 10 ); | |
?> |
Update - remove action working when placed in functions.php
I uploaded to here as a plugin but used in functions on my test site. I imagine for plugin I will need to wrap with add_action ('init',....
I'm working on some more changes and will update accordingly.
sounds about right - I have everything working fine using plugin combined with the remove action in child theme functions.php.
You can now find this as an extension here: http://codecanyon.net/item/woocommerce-tax-toggle/7796887
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Completely clean Wordpress install (3.6.1), clean Woocommerce install (2.0.14) with a single test product input, clean Canvas install (Canvas 5.4.1 Framework 5.5.5). Same issue.
Single product page:
div itemtype="http://schema.org/Offer" itemscope="" itemprop="offers" is duplicated.
The first rendering includes the VAT price fix, the duplicate does not.
Switched to default 2012 theme and the same issue.
remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_price', 10 ) isn't working for me!