2017-07-19 33 views
1

私は現在、穀物とスパイスを一括販売するウェブサイトで作業しています。WooCommerce - 小数点以下4桁の価格を使用して注文する前の合計金額

1製品の単位は1グラムです。私は、最小注文量を100単位(100グラム)としましょう。しかし、1グラムの価格は非常に低くなることがあります(時には0.0045ドル、1グラムでは50セントでさえありません)。

私はまた、注文する最低限を設定し、カートは少なくとも合計$ 15でなければなりません。

時々カートの合計は$ 20.5517のような小数点以下4桁になります。カートに表示されている小計と合計金額を2小数点以下に切り上げることを希望します。しかし、私は商品価格を4小数点以下に保つ必要があります。これが私の価格で競争力を維持できる唯一の方法だからです。

基本的に私は4つの小数点以下の価格を維持し、 (それが既に設定されている方法)でも、顧客がpaypal経由で支払いを受けることができるようにするには、合計額を切り捨てたい。

誰でも助けてくれますか?

おかげ

答えて

0

はここで解決です。しかし、あなたは、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> 

をそうすることができますように知っていますあなたはすべてのカート価格で同様のことをする必要があります参照してください。
カートおよびチェックアウトテンプレートがcartcheckoutサブフォルダにある...
それは少し動作するようにあなたの時間です!


+0

あなたの答えをありがとう、これは私を助けます!私が家に帰るとすぐにこれを試してくれるだろうし、これが私のために働くかどうかを知らせるだろう。しかし、これは正しい解決策になるはずです! – byaafra

+0

@FrédéricByarelle-Bréard私はあなたの最初の質問から考えています。私は別のより単純な方法を見ません...だからこれはあなたに家事を与えるつもりです:) – LoicTheAztec

+0

はい宿題の少しそれはいくつかの良い経験となりますすでにwoocommerceの仕組みについて新しいことを学びましたが、プラグインを探す代わりにテンプレートを探しています:) – byaafra