我正在使用woo-commerce
在WordPress中开发网站我希望通过在单个商品页面上计算50%的折扣来实现单页价格的显示功能
我已经实现了以下代码,它在简单的产品上运行良好但不适用于变量产品
请帮助我如何在变量产品上实现自定义价格过滤 或者建议我使用哪种过滤器来变量产品
add_filter('woocommerce_get_price', 'custom_price_WPA111772', 10, 2);
function custom_price_WPA111772($price, $product) {
global $product;
$pid = get_the_ID();
$user = wp_get_current_user();
if(!is_user_logged_in()) return $price;
if( has_term( 'sale', 'product_cat' ,$product->ID) || has_term( 'Gift Ideas', 'product_cat' ,$product->ID))
{
$price = $price;
}
else
{
$price = $price * 50 / 100;
}
return $price;
}
答案 0 :(得分:0)
我得到了为什么我的变量产品没有显示定制价格的答案 我在function.php及其作品中添加了这个 add_filter('woocommerce_variable_price_html','custom_variation_price',10,2);
function custom_variation_price( $price, $product ) {
foreach($product->get_available_variations() as $pav){
$def=true;
foreach($product->get_variation_default_attributes() as $defkey=>$defval){
if($pav['attributes']['attribute_'.$defkey]!=$defval){
$def=false;
}
}
if($def){
$price = $pav['display_price'];
}
}
return woocommerce_price($price);
}