由于更新woocommerce即时收到警告:使用以下功能除以零错误。
我不明白为什么之前没有出现此错误,目前即使使用wp debug off错误仍会显示。
function 6516_product_sale_flash( $output, $post, $product ) {
global $product;
if($product->is_on_sale()) {
if($product->is_type( 'variable' ) )
{
$regular_price = $product->get_variation_regular_price();
$sale_price = $product->get_variation_price();
} else {
$regular_price = $product->get_regular_price();
$sale_price = $product->get_sale_price();
}
$percent_off = round( ( ( $regular_price - $sale_price ) / $regular_price ) * 100 );
return '<span class="onsale">' . 'Save<br>' . round($percent_off) . '%</span>';
}
}
关于为什么现在这个问题的任何想法?
由于
答案 0 :(得分:0)
管理这个工作。
使用非销售的复合产品时,正常价格为零。所以我用if语句包装了错误的行,这句话解决了这个问题;
function 6516_product_sale_flash( $output, $post, $product ) {
global $product;
if($product->is_on_sale()) {
if($product->is_type( 'variable' ) )
{
$regular_price = $product->get_variation_regular_price();
$sale_price = $product->get_variation_price();
} else {
$regular_price = $product->get_regular_price();
$sale_price = $product->get_sale_price();
}
if ($regular_price > 0) {
$percent_off = round( ( ( $regular_price - $sale_price ) / $regular_price ) * 100 );
return '<span class="onsale">' . 'Save<br>' . round($percent_off) . '%</span>';
}
else {
return null;
}
}
}