@valentinadikaya

Как поместить базовую цену в произвольном месте страницы товара woocommerce?

Мне нужно разместить базовую цену продукта над кнопкой "Купить", но только для товаров определенной категории.

У меня есть код, но он работает для всех категорий
add_action('woocommerce_before_add_to_cart_form', 'basic_price', 15 ); 
function basic_price() {
   $price = get_post_meta( get_the_ID(), '_regular_price', true); 
   $formatted_price = wc_price( $price ); 
    echo '<span class="ri ri-clock">Стоимость упаковки: <span class="woocommerce-Price-amount amount">'. $formatted_price .'</span></span>'; // Print new html with title and price
}


Пиши вот такой вариант для одной категории, но все слетает. Что с моим кодом не так:

add_action('woocommerce_before_add_to_cart_form', 'basic_price', 15 ); 
function basic_price() {
   $price = get_post_meta( get_the_ID(), '_regular_price', true); 
   $formatted_price = wc_price( $price ); 
    $product_categories = array('laminat');
    if( has_term( $product_categories, 'product_cat', $_product->get_id() ) ) 
    echo '<span class="ri ri-clock">Стоимость упаковки: <span class="woocommerce-Price-amount amount">'. $formatted_price .'</span></span>'; // Print new html with title and price
}
  • Вопрос задан
  • 27 просмотров
Решения вопроса 1
AntonLitvinenko
@AntonLitvinenko
HTML coder
Все у вас правильно, проверка на терм, не хочет работать с переменной, вот так работает:
add_action('woocommerce_before_add_to_cart_form', 'basic_price', 15 ); 
function basic_price() {
	$price = get_post_meta( get_the_ID(), '_regular_price', true); 
	$formatted_price = wc_price( $price ); 
	if( has_term( ['laminat'], 'product_cat' ) ) {
		echo '<span class="ri ri-clock">Стоимость упаковки: <span class="woocommerce-Price-amount amount">'. $formatted_price .'</span></span>'; // Print new html with title and price
	}
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы