我已经为wordpress单一产品页面编写了一个代码,其中我想根据我的要求显示产品的价格但是当我把代码放在function.php中时,我的网站出现故障并显示内部服务器错误。但它在woocommerce更新之前工作正常。 这是工作正常时的输出快照。 CODE OUT PUT 在此先感谢您的帮助。 这是我的代码:
function woocommerce_custom_sales_price( $price, $regular_price, $sale_price ) {
global $product; $woocommerce;
if($product->get_type()=='simple') {
$percentage = round( ( $product->get_regular_price() - $product->get_sale_price() ) / $product->get_regular_price() * 100 ).'%';
$dollars='$'.($product->get_regular_price() - $product->get_sale_price());
$percentage_txt = __(' You Save: ', 'woocommerce' ).$dollars.'('.$percentage.')';
return '<del>'.'Price: ' . wc_price( $regular_price ) . '</del><br> <ins>' .'Sale Price: '. wc_price( $sale_price ) . '</ins><br><span style="color:red">'.$percentage_txt.'</span>';
}
else if($product->get_type()=='variable'){
$available_variations = $product->get_available_variations();
$count = count($available_variations)-1;
$variation_id=$available_variations[$count]['variation_id'];
$variable_product1= new WC_Product_Variation( $variation_id );
$regular_price = $variable_product1 ->get_regular_price();
$sale_price = $variable_product1 ->get_sale_price();
$percentage = round( ( $regular_price - $sale_price ) / $regular_price * 100 ).'%';
$dollars='$'.($regular_price - $sale_price);
$percentage_txt = __(' You Save: ', 'woocommerce' ).$dollars.'('.$percentage.')';
return '<del>'.'Price: ' . wc_price( $regular_price ) . '</del><br> <ins>' .'Sale Price: '. wc_price( $sale_price ) . '</ins><br><span style="color:red">'.$percentage_txt.'</span>';
}
}
add_filter( 'woocommerce_format_sale_price', 'woocommerce_custom_sales_price', 10, 3 );