WooCommerce – если цена 0, скрыть или вывести сообщение
Выведем сообщение, если цены нет или цена 0
Чтобы вывести сообщение, используем фильтр woocommerce_get_price_html
. Код добавляем в functions.php.
// Если цена 0, вывести сообщение
add_filter( 'woocommerce_get_price_html', 'product_price_hide', 100, 2 );
function product_price_hide( $price, $product ){
if ( '' === $product->get_price() || 0 == $product->get_price() ) {
$price = '<span class="woocommerce-Price-amount amount">Бесплатно</span>';
}
return $price;
}
Скроем цену и кнопку “В корзину”, если цены нет или цена 0
// Если цена 0 - скрыть цену и кнопку "В корзину"
add_filter( 'woocommerce_get_price_html', 'product_price_and_add_to_cart_hide', 100, 2 );
function product_price_and_add_to_cart_hide( $price, $product ){
if ( '' === $product->get_price() || 0 == $product->get_price() ) {
// скрываем цену
remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_price', 10 );
remove_action( 'woocommerce_after_shop_loop_item_title', 'woocommerce_template_loop_price', 10 );
// скрываем кнопку "В корзину"
remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart' );
remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 30 );
}
}
Благодарю. Кратко и понятно.
Здравствуйте, ваш код отлично отрабатывает на карточке товара, но мне еще нужно что бы он работал и в каталоге, каталог у меня работает на аддоне Unlimeted elements, подскажите пожалуйста что нужно сделать?