WooCommerce 可变产品:使用自定义标签仅保留 "min" 价格
WooCommerce variable products: keep only "min" price with a custom label
在函数文件中,我添加了一个过滤器挂钩,用于在变体产品 "min" 价格之前添加自定义标签。
如何获取与价格在同一行的标签?
查看我的代码和下面的截图:
add_filter( 'woocommerce_variable_sale_price_html', 'wc_wc20_variation_price_format', 10, 2 );
add_filter( 'woocommerce_variable_price_html', 'wc_wc20_variation_price_format', 10, 2 );
function wc_wc20_variation_price_format( $price, $product ) {
$min_price = $product->get_variation_price( 'min', true );
$price = sprintf( __( 'From%1$s', 'woocommerce' ), wc_price( $min_price ) );
return $price;
}
自 WooCommerce 3 起,woocommerce_variable_sale_price_html
挂钩已弃用且不再有用。如果您不关心“最低”促销价(最低价促销时),您可以使用:
add_filter( 'woocommerce_variable_price_html', 'custom_min_max_variable_price_html', 10, 2 );
function custom_min_max_variable_price_html( $price, $product ) {
$prices = $product->get_variation_prices( true );
$min_price = current( $prices['price'] );
$min_price_html = wc_price( $min_price ) . $product->get_price_suffix();
$price = sprintf( __( 'From %1$s', 'woocommerce' ), $min_price_html );
return $price;
}
代码进入您的活动子主题(或主题)的 function.php 文件或任何插件文件。
经过测试并适用于 WooCommerce 3+。你会得到这样的东西:
如果您关心“最低”促销价(当最低价促销时),并且您希望同时显示这两个价格,您应该改用此代码:
add_filter( 'woocommerce_variable_price_html', 'custom_min_max_variable_price_html', 10, 2 );
function custom_min_max_variable_price_html( $price, $product ) {
$prices = $product->get_variation_prices( true );
$min_price = current( $prices['price'] );
$min_keys = current(array_keys( $prices['price'] ));
$min_price_regular = $prices['regular_price'][$min_keys];
$min_price_html = wc_price( $min_price ) . $product->get_price_suffix();
if( $min_price_regular != $min_price ){ // When min price is on sale (Can be removed)
$min_price_regular_html = '<del>' . wc_price( $min_price_regular ) . $product->get_price_suffix() . '</del>';
$min_price_html = $min_price_regular_html .'<ins>' . $min_price_html . '</ins>';
}
$price = sprintf( __( 'From %1$s', 'woocommerce' ), $min_price_html );
return $price;
}
代码进入您的活动子主题(或主题)的 function.php 文件或任何插件文件。
经过测试并适用于 WooCommerce 3+。你会得到这样的东西:
To handle when all variations prices are the same:
在函数文件中,我添加了一个过滤器挂钩,用于在变体产品 "min" 价格之前添加自定义标签。
如何获取与价格在同一行的标签?
查看我的代码和下面的截图:
add_filter( 'woocommerce_variable_sale_price_html', 'wc_wc20_variation_price_format', 10, 2 );
add_filter( 'woocommerce_variable_price_html', 'wc_wc20_variation_price_format', 10, 2 );
function wc_wc20_variation_price_format( $price, $product ) {
$min_price = $product->get_variation_price( 'min', true );
$price = sprintf( __( 'From%1$s', 'woocommerce' ), wc_price( $min_price ) );
return $price;
}
自 WooCommerce 3 起,woocommerce_variable_sale_price_html
挂钩已弃用且不再有用。如果您不关心“最低”促销价(最低价促销时),您可以使用:
add_filter( 'woocommerce_variable_price_html', 'custom_min_max_variable_price_html', 10, 2 );
function custom_min_max_variable_price_html( $price, $product ) {
$prices = $product->get_variation_prices( true );
$min_price = current( $prices['price'] );
$min_price_html = wc_price( $min_price ) . $product->get_price_suffix();
$price = sprintf( __( 'From %1$s', 'woocommerce' ), $min_price_html );
return $price;
}
代码进入您的活动子主题(或主题)的 function.php 文件或任何插件文件。
经过测试并适用于 WooCommerce 3+。你会得到这样的东西:
如果您关心“最低”促销价(当最低价促销时),并且您希望同时显示这两个价格,您应该改用此代码:
add_filter( 'woocommerce_variable_price_html', 'custom_min_max_variable_price_html', 10, 2 );
function custom_min_max_variable_price_html( $price, $product ) {
$prices = $product->get_variation_prices( true );
$min_price = current( $prices['price'] );
$min_keys = current(array_keys( $prices['price'] ));
$min_price_regular = $prices['regular_price'][$min_keys];
$min_price_html = wc_price( $min_price ) . $product->get_price_suffix();
if( $min_price_regular != $min_price ){ // When min price is on sale (Can be removed)
$min_price_regular_html = '<del>' . wc_price( $min_price_regular ) . $product->get_price_suffix() . '</del>';
$min_price_html = $min_price_regular_html .'<ins>' . $min_price_html . '</ins>';
}
$price = sprintf( __( 'From %1$s', 'woocommerce' ), $min_price_html );
return $price;
}
代码进入您的活动子主题(或主题)的 function.php 文件或任何插件文件。
经过测试并适用于 WooCommerce 3+。你会得到这样的东西:
To handle when all variations prices are the same: