J'utilise WooCommerce pour WordPress et je répertorie les articles hors taxe.
Je dois montrer séparément le prix (sans taxe) , la taxe et le prix + taxe sur la page du produit (comme dans la page de paiement) .
Je n'ai pas pu trouver de plugin qui fait ça.
Comment puis-je faire ceci?
WooCommerce v3.0.0 et versions ultérieures
Depuis WooCommerce version 3.0, la fonction woocommerce_price () est déconseillée, tout comme la méthode get_price_including_tax () . Au lieu de cela, vous devez utiliser wc_get_price_including_tax :
<?php echo wc_price( wc_get_price_including_tax( $product ) ); ?>
Avant WooCommerce v3.0.0
Vous devez modifier un modèle. Ne pas modifier le modèle WooCommerce de base, mais plutôt en faire une copie dans votre thème, en utilisant le système de remplacement du modèle WooCommerce. Pour obtenir de l'aide, reportez-vous aux documents WooCommerce sur l'utilisation du système de remplacement de modèle .
Dans le price.php
modèle, vous allez ajouter ce bout de code où vous voulez le prix, TTC (TVA):
<?php echo woocommerce_price( $product->get_price_including_tax() ); ?>
Noter la price.php
le modèle que vous modifiez doit se trouver ici dans wp-content/themes/[your theme folder]/woocommerce/single-product/price.php
Mise à jour 2018/2019 (pour Woocommerce 3+)
Pour afficher le prix hors taxe + montant de la taxe + prix TTC (sur des lignes séparées):
Lisez d'abord "Comment remplacer les modèles de Woocommerce via votre thème"
1) Activé single-product/price.php
fichier modèle (pages produit uniques) .
Remplacez le code par:
if ( ! defined( 'ABSPATH' ) ) {
exit; // Exit if accessed directly
}
global $product;
// Get the prices
$price_excl_tax = wc_get_price_excluding_tax( $product ); // price without VAT
$price_incl_tax = wc_get_price_including_tax( $product ); // price with VAT
$tax_amount = $price_incl_tax - $price_excl_tax; // VAT amount
// Display the prices
?>
<p class="price-excl"><?php echo wc_price( $price_excl_tax ); ?></p>
<p class="tax-price"><?php echo wc_price( $tax_amount ); ?></p>
<p class="price-incl"><?php echo wc_price( $price_incl_tax ); ?></p>
2) Activé loop/price.php
fichier modèle (Pages de magasin et d'archivage) =.
Remplacez le code par:
if ( ! defined( 'ABSPATH' ) ) {
exit; // Exit if accessed directly
}
global $product;
if ( $product->get_price_html() ) :
// Get the prices
$price_excl_tax = wc_get_price_excluding_tax( $product ); // price without VAT
$price_incl_tax = wc_get_price_including_tax( $product ); // price with VAT
$tax_amount = $price_incl_tax - $price_excl_tax; // VAT amount
// Display the prices
?>
<span class="price price-excl"><?php echo wc_price( $price_excl_tax ); ?></span><br>
<span class="price tax-price"><?php echo wc_price( $tax_amount ); ?></span><br>
<span class="price price-incl"><?php echo wc_price( $price_incl_tax ); ?></span>
<?php endif ?>
Documentation:
• Structure des modèles et comment remplacer les modèles Woocommerce via votre thème
• wc_get_price_including_tax()
fonction prix du produit
• wc_get_price_excluding_tax()
fonction prix du produit
• wc_price()
formatage fonction prix
• wc_get_price_to_display()
fonction prix du produit
Réponse originale (avant woocommerce 3):
Avant de vérifier que vos paramètres généraux WooCommerce Fiscalité correspondent à vos besoins.
Comme cale_b suggéré, vous devez copier depuis woocommerce le dossier templates
à l'intérieur de votre thème ou thème enfant actif. Renommez-le ensuite woocommerce
. Dans ce dossier de modèles woocommerce
, vous trouverez dans le sous-dossier single-product
Le modèle price.php à éditer en rapport avec l'affichage des prix dans des pages de produits uniques.
Dans single-product/price.php
fichier modèle juste après global $product;
, Remplacez le code par:
?>
<div itemprop="offers" itemscope itemtype="http://schema.org/Offer">
<?php
$price_excl = $product->get_price_excluding_tax(); // price without VAT
$price_incl = $product->get_price_including_tax(); // price included VAT
$tax_amount = $price_incl - $price_excl; // VAT price amount
?>
<p class="price"><?php echo woocommerce_price( $price_excl ); /* without VAT */ ?></p> (formatted)
<p class="price-vat"><?php echo woocommerce_price( $tax_amount); /* VAT */ ?></p>
<p class="price-and-vat"><?php echo woocommerce_price( $price_incl); /* With VAT */ ?></p>
<meta itemprop="price" content="<?php echo esc_attr( $product->get_price() ); ?>" />
<meta itemprop="priceCurrency" content="<?php echo esc_attr( get_woocommerce_currency() ); ?>" />
<link itemprop="availability" href="http://schema.org/<?php echo $product->is_in_stock() ? 'InStock' : 'OutOfStock'; ?>" />
</div>
Étant donné que les prix supplémentaires ne sont pas formatés, vous devrez peut-être mélanger d'autres éléments avec ces prix supplémentaires en utilisant certaines fonctions php de woocommerce comme:
get_price_suffix( ) // Get the suffix to display after prices > 0.
$currency = esc_attr( get_woocommerce_currency( ) ) // Get the currency code.
get_woocommerce_currency_symbol( $currency ) // Get the currency symbol.
get_tax_class( ) // Returns the tax class.
get_tax_status( ) // Returns the tax status.
Référence: classe WooCommerce WC_Product
Pour le moment, vous n'avez plus besoin de modifier un modèle. Vous pouvez définir cela dans les paramètres de Woocommerce: