в более новой версии woocommerce замените следующий текст: замените «woocommerce_variable_sale_price_html» на «woocommerce_variable_get_price_html» и замените «woocommerce_sale_price_html» на «woocommerce_get_price_html».

аюсь добавить процент скидки в сторону цены на сайте, который использует WooCommerce.

Я применил этот скрипт для стандартной цены и цены продажи:

// Add save percentage next to sale item prices.
add_filter( 'woocommerce_get_price_html', 'adventure_tours_sales_price', 10, 2 );
function adventure_tours_sales_price( $price, $product ){
  $percentage = round( ( ( $product->regular_price - $product->sale_price ) / $product->regular_price ) * 100 );
  return $price . sprintf( __(' Save %s', 'woocommerce' ), $percentage . '%' );
}

Сценарий выше работает.

В front-end у меня есть процентная цена.

Теперь я хочу применить тот же сценарий к цене варианта продукта.

Я проверил вариант варианта продукта и попробовал что-то вроде этого:

// Add save percentage next to sale item prices.
add_filter( 'woocommerce_get_price_html', 'adventure_tours_sales_price', 10, 2 );
function adventure_tours_sales_price( $price, $product ){
  if( $product->is_type( 'variable' ) ) {
    $percentage = round( ( ( $product->regular_price - $product->sale_price ) / $product->regular_price ) * 100 );
    return $price . sprintf( __(' Save %s', 'woocommerce' ), $percentage . '%' );
  }else{
    $percentage = round( ( ( $product->regular_price - $product->sale_price ) / $product->regular_price ) * 100 );
    return $price . sprintf( __(' Save %s', 'woocommerce' ), $percentage . '%' );
  }
}

Но это не работает, процент не применяется к цене.

Ни в передней части.

Ответы на вопрос(1)

Ваш ответ на вопрос