Описание woocommerce_rate_percent
— Filter
Хук woocommerce_rate_percent позволяет изменить процентную ставку налога или скидки на товары в WooCommerce. Он срабатывает при расчете стоимости товара и позволяет настраивать процентные ставки в зависимости от различных условий
Примеры использования
Пример изменения процентной ставки для определенного товара:
add_filter('woocommerce_rate_percent', function($rate, $product) {
if ($product->get_id() === 123) {
return 10.0; // Устанавливаем процентную ставку 10% для товара с ID 123
}
return $rate;
});
В этом примере мы устанавливаем ставку 10% для товара с ID 123.
Пример применения специальной процентной ставки для всех товаров в категории:
add_filter('woocommerce_rate_percent', function($rate, $product) {
if (has_term('специальная-категория', 'product_cat', $product->get_id())) {
return 15.0; // Устанавливаем процентную ставку 15% для товаров в специальной категории
}
return $rate;
});
Здесь мы устанавливаем ставку 15% для всех товаров в категории ‘специальная-категория’.
Пример изменения процентной ставки в зависимости от пользовательского поля:
add_filter('woocommerce_rate_percent', function($rate, $product) {
$custom_rate = get_post_meta($product->get_id(), 'custom_rate', true);
if ($custom_rate) {
return floatval($custom_rate); // Используем пользовательское поле как процентную ставку
}
return $rate;
});
В этом примере мы используем пользовательское поле ‘custom_rate’ для установки процентной ставки.
— Лучшие практики
– Использование
Используйте этот хук, когда необходимо динамически изменять процентные ставки на основе условий, таких как категория товара или пользовательские метаданные
– Производительность
Изменение процентной ставки не должно значительно влиять на производительность, так как оно происходит во время вычислений цены
– Предупреждения
Убедитесь, что изменения не конфликтуют с другими механизмами налогообложения или скидок на сайте
Альтернативы
Тип: filter
Этот хук позволяет изменять цену товара, включая налоги и скидки, на более общем уровне
Используйте его, если нужно изменять всю цену товара, а не только процентные ставки