2017-07-05 18 views
2


私は誰かが私を助けてくれるかもしれないと思っていた質問があります。
私はWooCommerceを使用するワードプレスのウェブサイトを持っていて、私は比較的具体的なことをしようとしています。このサイトでは、さまざまな製品の一括価格割引が公正に行われています。
今、バルク価格設定では、小数点以下4桁(すなわち、$ 0.1234)で計算する必要があるので、小数点以下4桁になるようにWooCommerce設定をしています。
当社の多くの製品には一括価格割引はありません。ほとんどの場合、4桁の小数点は完全に不要です。 (例:$ 0.5500または$ 12.0000)小数点第2位の後にある場合にのみ、ゼロの後にトリミングする方法はありますか?
たとえば、$ 0.5500があれば$ 0.55と表示され、$ 12.00があれば$ 12.00と表示されます

私は非常に似た質問が数年前に尋ねられたことを知っていますが(see here)、残念なことに、その場合に働いた私のために動作していないようです...それは間違った方法を使用しようとする可能性があると言われている。私は、WordPressの "functions.php"ファイルで正規表現を使用することに慣れていません。

助けを借りていただければ幸いです。ありがとう!Woocommerce - 小数点第2位の後にゼロを隠すにはどうすればいいですか?

編集:この時点で
私はの線に沿って何かがあります:

add_action('wc_price', 'custom_price_disp'); 
function custom_price_disp($price) { 
    $count = null; 
    $resultingPrice = preg_replace('/(?<=\d{2})(0+)$/', '', $price, -1, $count); 
    return $resultingPrice; 
} 

をしかし、このコードが動作するようには思えません。価格は以前と同じように表示されます。

私はそれを自分自身を使用していませんでしたが、あなたは、フィルタを活用することができますように、前述の wc_price()メソッドのコードに基づいて、それ に見える
+0

カスタマイズする必要がある機能は次のとおりです。[wc_price()](http://woocommerce.wp-a2z.org/oik_api/wc_price/) – wittich

+0

@wittich大丈夫です。しかし、それは別の質問に私をもたらします。 WooCommerce関数をカスタマイズする最も効率的な方法は何ですか?私が過去にこれをしたたびに、いくらか面倒なことが判明しました。私が気づいていない "正しい"方法がありますか? –

答えて

0

if (apply_filters('woocommerce_price_trim_zeros', false) && $decimals > 0) { 
    $price = wc_trim_zeros($price); 
} 

あなたのにこれを追加することができるはずですfunctions.php

add_filter('woocommerce_price_trim_zeros', true); 

この動作をトリガします。

+0

ありがとうございます、まずは答えに感謝します。私は単にadd_filter( 'woocommerce_price_trim_zeros'、true)を使ってみました。これは、小数点以下の桁のゼロをトリムします。私がしようとしているのは、小数点第2位の後にゼロをトリミングすることだけです。 –

+0

右それは理にかなっている。この場合、これは少し難解です! ['wc_trim_zeros()'関数(http://woocommerce.wp-a2z.org/oik_api/wc_trim_zeros/)をリファクタリングする必要があるかもしれません。 'add_filter()'の2番目の引数として 'true'を渡すのではなく、代わりに' wc_trim_zeros() 'を模倣する関数を渡すこともできます。 – jeffbyrnes

関連する問題