为在 WooCommerce 中显示自定义产品价格的功能启用后缀价格
Enable back price suffix to a function that display customized product prices in WooCommerce
我正在使用 "Enable sale price for logged users and regular price for unlogged users in Woocommerce" 第一个功能代码,它隐藏了销售价格。这样我就可以对登录用户和 none 登录用户使用销售价和正常价格,而且效果很好。
我遇到的问题是它还会从设置中删除 woocommerce_price_suffix 字段,我想将它包含在我的函数中,但不知道如何。
以下将加回价格后缀:
//Variable and simple product displayed prices (removing sale price range)
add_filter( 'woocommerce_get_price_html', 'custom_get_price_html', 20, 2 );
function custom_get_price_html( $price, $product ) {
if( $product->is_type('variable') )
{
if( is_user_logged_in() ){
$price_min = wc_get_price_to_display( $product, array( 'price' => $product->get_variation_sale_price('min') ) );
$price_max = wc_get_price_to_display( $product, array( 'price' => $product->get_variation_sale_price('max') ) );
} else {
$price_min = wc_get_price_to_display( $product, array( 'price' => $product->get_variation_regular_price('min') ) );
$price_max = wc_get_price_to_display( $product, array( 'price' => $product->get_variation_regular_price('max') ) );
}
if( $price_min != $price_max ){
if( $price_min == 0 && $price_max > 0 )
$price = wc_price( $price_max );
elseif( $price_min > 0 && $price_max == 0 )
$price = wc_price( $price_min );
else
$price = wc_format_price_range( $price_min, $price_max );
} else {
if( $price_min > 0 )
$price = wc_price( $price_min);
}
$price .= $product->get_price_suffix()
}
elseif( $product->is_type('simple') )
{
if( is_user_logged_in() )
$active_price = wc_get_price_to_display( $product, array( 'price' => $product->get_sale_price() ) );
else
$active_price = wc_get_price_to_display( $product, array( 'price' => $product->get_regular_price() ) );
if( $active_price > 0 )
$price = wc_price($active_price) . $product->get_price_suffix();
}
return $price;
}
代码进入活动子主题 (或活动主题) 的 functions.php 文件。已测试并有效。
我正在使用 "Enable sale price for logged users and regular price for unlogged users in Woocommerce" 第一个功能代码,它隐藏了销售价格。这样我就可以对登录用户和 none 登录用户使用销售价和正常价格,而且效果很好。
我遇到的问题是它还会从设置中删除 woocommerce_price_suffix 字段,我想将它包含在我的函数中,但不知道如何。
以下将加回价格后缀:
//Variable and simple product displayed prices (removing sale price range)
add_filter( 'woocommerce_get_price_html', 'custom_get_price_html', 20, 2 );
function custom_get_price_html( $price, $product ) {
if( $product->is_type('variable') )
{
if( is_user_logged_in() ){
$price_min = wc_get_price_to_display( $product, array( 'price' => $product->get_variation_sale_price('min') ) );
$price_max = wc_get_price_to_display( $product, array( 'price' => $product->get_variation_sale_price('max') ) );
} else {
$price_min = wc_get_price_to_display( $product, array( 'price' => $product->get_variation_regular_price('min') ) );
$price_max = wc_get_price_to_display( $product, array( 'price' => $product->get_variation_regular_price('max') ) );
}
if( $price_min != $price_max ){
if( $price_min == 0 && $price_max > 0 )
$price = wc_price( $price_max );
elseif( $price_min > 0 && $price_max == 0 )
$price = wc_price( $price_min );
else
$price = wc_format_price_range( $price_min, $price_max );
} else {
if( $price_min > 0 )
$price = wc_price( $price_min);
}
$price .= $product->get_price_suffix()
}
elseif( $product->is_type('simple') )
{
if( is_user_logged_in() )
$active_price = wc_get_price_to_display( $product, array( 'price' => $product->get_sale_price() ) );
else
$active_price = wc_get_price_to_display( $product, array( 'price' => $product->get_regular_price() ) );
if( $active_price > 0 )
$price = wc_price($active_price) . $product->get_price_suffix();
}
return $price;
}
代码进入活动子主题 (或活动主题) 的 functions.php 文件。已测试并有效。