在Woocommerce我有一个可变的产品与许多变化和每一个变化有自己的常规价格和销售价格。
我想当用户:
- 已登录,则销售价格将为有效价格
- 未登录,正常价格将为活动价格。
我已经在我的child theme function.php文件中添加了这个hooked函数:
add_filter( 'woocommerce_available_variation', 'my_variation', 10, 3);
function my_variation( $data, $product, $variation ) {
wc_delete_product_transients($variation->get_id());
$variation_id = $variation->get_id();
$variable_product1= new WC_Product_Variation($variation_id);
if(is_user_logged_in()){
$regular_price = $variable_product1 ->regular_price;
$data['price_html'] = woocommerce_price($regular_price);
return $data;
} else {
$sale_price = $variable_product1 ->sale_price;
$data['price_html'] = woocommerce_price($sale_price);
return $data;
}
}
显示的价格工作...但当我添加到购物车任何产品,它仍然只与销售价格在购物车...
2条答案
按热度按时间pdkcd3nj1#
下面的代码将:
代码:
代码在你的活动子主题(或活动主题)的function.php文件中。
更新:启用回价格后缀到一个功能,显示在WooCommerce定制的产品价格
qoefvg9y2#
它为我工作!非常感谢代码!这个代码帮助我的客户添加价格为他们的“成员”非常容易。
他们只是完成常规和销售价格。批发插件要复杂得多,在这种情况下是不需要的。* 我的意思是在这种情况下,只有登录用户应该看到“销售价格”。