web-dev-qa-db-ja.com

税および税額の有無にかかわらずWoocommerce製品の価格を表示する

WordPress=にWooCommerceを使用しており、税金を除く商品をリストしています。

製品ページに個別に価格(税抜き)、税およびPRICE +税を表示する必要があります(チェックアウトページのように)

これを行うプラグインを見つけることができませんでした。

これどうやってするの?

9
Nuri Akman

WooCommerce v3.0.0以降
WooCommerceバージョン3.0以降、関数 woocommerce_price() は廃止され、メソッド get_price_include_tax() 。代わりに、 wc_get_price_include_tax を使用する必要があります。

<?php echo wc_price( wc_get_price_including_tax( $product ) ); ?>

WooCommerce v3.0.0より前
テンプレートを変更する必要があります。 WooCommerceのコアテンプレートを変更しないでください。WooCommerceテンプレートオーバーライドシステムを使用して、テーマのコピーを作成します。それに関するヘルプについては、 template override system の使用に関するWooCommerceのドキュメントを参照してください。

の中に price.phpテンプレート、税を含む価格(VAT)が必要な場所に次のコードを追加します。

<?php echo woocommerce_price( $product->get_price_including_tax() ); ?>

注:price.php変更するテンプレートは、wp-content/themes/[your theme folder]/woocommerce/single-product/price.php

14
cale_b

2018/2019を更新(Woocommerce 3 +)

税抜き価格+税額+税込み価格を表示するには(区切り線で)

最初にお読みください "テーマを介してWoocommerceテンプレートをオーバーライドする方法"

1)On _single-product/price.php_ テンプレートファイル(単一の製品ページ)

コードを次のものに置き換えます。

_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)On _loop/price.php_ template file(Shop and archive pages)

コードを次のものに置き換えます。

_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 ?>
_

ドキュメンテーション:
テンプレート構造とテーマを介してWoocommerceテンプレートをオーバーライドする方法
wc_get_price_including_tax() 製品価格関数
wc_get_price_excluding_tax() 製品価格関数
wc_price() 価格関数のフォーマット
wc_get_price_to_display() 製品価格関数


元の答え(woocommerce 3の前)

WooCommerceTaxの一般設定がニーズに合っていることを確認する前に。

cale_b のように、アクティブな子テーマまたはテーマ内のtemplatesフォルダーをwoocommerceからコピーする必要があります。次に、woocommerceという名前に変更します。このwoocommerceテンプレートフォルダーには、_single-product_サブフォルダー内に、価格表示に関連して編集するprice.phpテンプレートがあります。単一の製品ページ。

_single-product/price.php__global $product;_の直後のテンプレートファイルで、コードを次のように置き換えます。

_?>
<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>
_

追加価格はフォーマットされていないため、次のような一部のwoocommerce php関数を使用して、この追加価格に他の要素を混在させる必要がある場合があります。

_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.
_

参照: WooCommerce WC_Productクラス

9
LoicTheAztec

現時点では、テンプレートを変更する必要はもうありません。これは、Woocommerce設定で設定できます。

  • Woocommerce:[税]タブ:ショップでの価格の表示/カートおよびチェックアウト中の価格の表示
6
SPRBRN