У меня есть фильтр, позволяющий показывать в процентах скидку на товар, и я хочу вывести её туда же, где располагается подпись "распродажа". Те, кто знаком с woocommerce знают, что слово "распродажа" выводится так же хуком. В общем, я вообще не знаю php и делаю всё интуитивно, поэтому буду рад подсказке рационального решения.
Вод мой фильтр:
add_filter( 'woocommerce_sale_price_html', 'woocommerce_custom_sales_price', 10, 2 );
function woocommerce_custom_sales_price( $price, $product ) {
$percentage = round( ( ( $product->regular_price - $product->sale_price ) / $product->regular_price ) * 100 );
return $price . sprintf( __(' - Экономия %s', 'woocommerce' ), $percentage . '%' );
}
Вот место, где должен быть мой код:
global $post, $product;
if ( $product->is_on_sale() ) :
echo apply_filters( 'woocommerce_sale_flash', '<span class="onsale">sale</span>', $post, $product );
endif;