Intereting Posts

Переменные продукты WooCommerce: сохраняйте только «минимальную» цену с помощью специальной метки

В файле функций я добавил фильтр-крючок, чтобы добавить пользовательскую метку перед изменением цены продукта «мин».

Как я могу получить ярлык в той же строке, что и цена?

Смотрите мой код и снимок экрана ниже:

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 hook устарел и больше не полезен. Если вам не нужна «минимальная» цена продажи (когда минимальная цена продается) , вы можете использовать это:

 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'] ); $max_price = end( $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'] ); $max_price = end( $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+. Вы получите что-то вроде этого:

введите описание изображения здесь