私はこのようなコードを持っている:ゼロエラーによる除算を避けるにはどうすればよいですか?
add_filter('woocommerce_sale_flash2', 'lx_custom_onsale_label', 10, 2);
function lx_custom_onsale_label() {
global $product;
$percentage = round((($product->get_regular_price() - $product->get_sale_price())/$product->get_regular_price() ) * 100);
$absolute = round((($product->get_regular_price() - $product->get_sale_price())));
if ($product->get_regular_price() > 100) {
return '<span class="onsalex bg_primary headerfont">'. sprintf(__(' -%s', 'salex'), $absolute . ',-').'</span>';
}
else if ($product->get_regular_price() < 1) {
return '<span class="onsalessszzzx bg_primary headerfont">'. sprintf(__(' -%s', 'salex'), $absolute . ',-').'</span>';
}
else {
return '<span class="onsalexzzz bg_primary headerfont">'. sprintf(__(' -%s', 'salex'), $percentage . '%').'</span>';
}
}
ディバイダがOである場合、通知が表示されます除いてすべてが正常に動作:
警告: Dでのゼロによる除算:\サーバー\ InstantWP_4を.3.1 \ iwpserver \ htdocsに\ワードプレス\ WP-コンテンツ\テーマ\ライン上で553
ライン553は、このコードでMYTHEME \のfunctions.php:
$percentage = round((($product->get_regular_price() - $product->get_sale_price())/$product->get_regular_price() ) * 100);
このコードで条件ゼロの警告を回避する方法はわかりません。
本当に助けていただきありがとうございます。
$percentage = round((($product->get_regular_price() - $product->get_sale_price())/$product->get_regular_price() ) * 100);
によって:
生意気な答え:*しないでください* – domsson
操作を行う前に '$ product-> get_regular_price()'が0より大きいかどうかをテストしてください。 – kaldoran
'if'は本当に便利です。何かしたくない場合は – Peter