废除woocommerce变量产品价格不起作用

时间:2018-01-10 10:34:20

标签: wordpress woocommerce

我尝试了几个代码来禁用woocommerce中的产品变量价格。

我试过这个但没有发生任何事情:

/*
Disable Variable Product Price Range completely:
*/

add_filter( 'woocommerce_variable_sale_price_html','my_remove_variation_price', 10, 2 );
add_filter( 'woocommerce_variable_price_html', 'my_remove_variation_price', 10, 2 );

function my_remove_variation_price( $price ) {
$price = '';
return $price;
}

我把它放在functions.php中但没有发生任何事情。

我的主题是主题瘾君子的撒哈。

1 个答案:

答案 0 :(得分:-1)

最好的办法是加入woocommerce_get_price_html filter

它传递$price HTML和WC_Product*对象。您可以检查它是否为instance of WC_Product_Variable以确定它是否为可变产品。然后返回''空字符串(如果是)。这将处理父变量产品的价格显示。

实施例

add_filter('woocommerce_get_price_html', 'mm_handle_variation_prices', 10, 2);
function mm_handle_variation_prices( $price_html, $product_obj ){
    // Bail unless we are on WooCommerce page on frontend and this is an ajax request.
    if( is_admin() || is_ajax() || ! is_woocommerce() ) {
        return $price_html;
    }

    // If this is an Variable product only then return empty string.
    // '$product_obj instanceof WC_Product_Variable' check would work as well.
    if( 'variable' === $product_obj->get_tyepe() ) {
        return '';
    } else {
        return $price_html;
    }
}