はここで解決です。しかし、あなたは、woocommerceに関連するテンプレートのすべての必要な変更を自分で行わなければなりません。だから、最初にあなたが正しくWooCommerceテンプレートをカスタマイズする方法がわからない場合は
、これを読んで:
Template Structure + Overriding Templates via a Theme
を次に今では、以下のカスタム関数で表示HTML形式の価格(からの変更価格に仕事をします2つの小数とarroundのHTMLタグを維持)に4つの小数点、あなたはwoocommerce関連テンプレートの必要な変更を加えることができるようになります:
function wc_shrink_price($price_html){
// Extract the price (without formatting html code)
$price = floatval(preg_replace('/[^0-9\.,]+/', '', $price_html));
// Round price with 2 decimals precision
$shrink_price = round($price, 2);
// Replace old existing price in the original html structure and return the result
return str_replace($price, $shrink_price, $price_html);
}
コードは、あなたのアクティブな子テーマ(またはテーマのfunction.phpファイルになります)または任意のプラグインファイル。
このコードはテストされ、
使用例を動作します:ライン33
でwoocommerceテンプレートcart/cart_totals.php
で
あなたは、このオリジナルのコードがあります。
(小計のために表示価格)
<td data-title="<?php esc_attr_e('Subtotal', 'woocommerce'); ?>"><?php wc_cart_totals_subtotal_html(); ?></td>
あなたがwc_cart_totals_subtotal_html()
機能を検索する場合、あなたはそれがこのWC_Cart
方法使用されて表示されます。WC()->cart->get_cart_subtotal()
を...
だから、あなたはそれをこのように置き換えることができます。
<td data-title="<?php esc_attr_e('Subtotal', 'woocommerce'); ?>">
<?php
// Replacement function by a WC_Cart method
$subtotal_html_price = WC()->cart->get_cart_subtotal();
// Here we use our custom function to get a formated html price with 2 decimals
echo wc_shrink_price($subtotal_html_price);
?>
</td>
をそうすることができますように知っていますあなたはすべてのカート価格で同様のことをする必要があります参照してください。
カートおよびチェックアウトテンプレートがcart
とcheckout
サブフォルダにある...
それは少し動作するようにあなたの時間です!
あなたの答えをありがとう、これは私を助けます!私が家に帰るとすぐにこれを試してくれるだろうし、これが私のために働くかどうかを知らせるだろう。しかし、これは正しい解決策になるはずです! – byaafra
@FrédéricByarelle-Bréard私はあなたの最初の質問から考えています。私は別のより単純な方法を見ません...だからこれはあなたに家事を与えるつもりです:) – LoicTheAztec
はい宿題の少しそれはいくつかの良い経験となりますすでにwoocommerceの仕組みについて新しいことを学びましたが、プラグインを探す代わりにテンプレートを探しています:) – byaafra