根据产品类别按价格过滤

时间:2017-03-29 06:49:42

标签: wordpress woocommerce

我正在使用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; 
}

1 个答案:

答案 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);

}