Отобразить текст после цены для woocommerce

295

Для того чтобы отобразить текст после цены для определенных категорий товаров только на странице каталога в WooCommerce, вам нужно выполнить следующие шаги:

  1. Откройте файл functions.php вашей темы и добавьте следующий код:
				
					function custom_price_suffix( $price, $product ) {
    if ( has_term( 'название_категории', 'product_cat', $product->get_id() ) ) {
        $price .= '<span class="price-suffix">Текст после цены</span>';
    }
    return $price;
}
add_filter( 'woocommerce_get_price_html', 'custom_price_suffix', 10, 2 );

				
			
  1. Замените название_категории на название категории товаров, для которой вы хотите отображать текст после цены.

  2. Добавьте следующий код в файл style.css вашей темы:

				
					.price-suffix {
    display: block;
    font-size: 12px;
    margin-top: 5px;
}

				
			

Этот код добавит стили для текста, который будет отображаться после цены.

  1. Сохраните изменения и обновите страницу каталога вашего магазина. Теперь текст после цены будет отображаться только для товаров, относящихся к заданной категории на странице каталога.

 

Чтобы не отображать этот текст на странице товара, вы можете изменить функцию, которую мы использовали ранее, следующим образом:

				
					function custom_price_suffix( $price, $product ) {
    if ( is_product_category( 'название_категории' ) && ! is_singular( 'product' ) ) {
        $price .= '<span class="price-suffix">Текст после цены</span>';
    }
    return $price;
}
add_filter( 'woocommerce_get_price_html', 'custom_price_suffix', 10, 2 );
				
			

Здесь мы использовали две новые функции: is_product_category() и is_singular(). Функция is_product_category() проверяет, является ли текущая страница страницей категории товаров, а функция is_singular() проверяет, не является ли текущая страница страницей товара.

Теперь текст после цены будет отображаться только для товаров, относящихся к заданной категории на странице каталога, но не будет отображаться на странице товара.

Если вы хотите выбрать несколько категорий для отображения текста после цены на странице каталога, вы можете использовать следующий код:

				
					function custom_price_suffix( $price, $product ) {
    $categories = array( 'название_категории_1', 'название_категории_2' );
    if ( has_term( $categories, 'product_cat', $product->get_id() ) && ! is_singular( 'product' ) ) {
        $price .= '<span class="price-suffix">Текст после цены</span>';
    }
    return $price;
}
add_filter( 'woocommerce_get_price_html', 'custom_price_suffix', 10, 2 );
				
			

Здесь мы определили массив $categories, в который включили названия категорий товаров, для которых нужно отобразить текст после цены. Далее мы проверяем, относится ли текущий товар к одной из выбранных категорий, используя функцию has_term(), и также проверяем, не является ли текущая страница страницей товара, используя функцию is_singular(). Если оба условия выполнены, то мы добавляем текст после цены.

Таким образом, вы можете выбрать несколько категорий для отображения текста после цены на странице каталога в WooCommerce.

Получить консультацию

Мы свяжется с вами в ближайшее время