Как вывести в карточке товара только заполненные атрибуты WooCommerce

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

Изначально код вывода атрибутов был такой:

PHP
  <div class="attributes-single">
		<?php
		echo '<div class="attribute-single"><span>Категория: </span>' . get_the_terms( $product->get_id(), 'product_cat' )[0]->name . '</div>';
		echo '<div class="attribute-single"><span>Тип хвои: </span>' . $product->get_attribute( 'pa_material-hvoi' . '</div>' );
		echo '<div class="attribute-single"><span>Конструкция: </span>' . $product->get_attribute( 'pa_kreplenie-vetok' . '</div>' );
		echo '<div class="attribute-single"><span>Диаметр: </span><em id="barcode-container"></em></div>';
		echo '<div class="attribute-single"><span>Подставка: </span>' . $product->get_attribute( 'pa_material-podstavki' . '</div>' );
		echo '<div class="attribute-single"><span>Цвет: </span>' . $product->get_attribute( 'pa_color' ) . '</div>';
		?>
    </div>

Рабочий код

PHP
<div class="attributes-single">
    <?php
    // Получаем категорию товара
    $category = get_the_terms( $product->get_id(), 'product_cat' );
    if (!empty($category)) {
        echo '<div class="attribute-single"><span>Категория: </span>' . $category[0]->name . '</div>';
    }

    // Получаем атрибут "Тип хвои"
    $material_hvoi = $product->get_attribute('pa_material-hvoi');
    if (!empty($material_hvoi)) {
        echo '<div class="attribute-single"><span>Тип хвои: </span>' . $material_hvoi . '</div>';
    }

    // Получаем атрибут "Конструкция"
    $kreplenie_vetok = $product->get_attribute('pa_kreplenie-vetok');
    if (!empty($kreplenie_vetok)) {
        echo '<div class="attribute-single"><span>Конструкция: </span>' . $kreplenie_vetok . '</div>';
    }

    // Получаем атрибут "Диаметр"
	if (!empty($diameter)) {
    echo '<div class="attribute-single"><span>Диаметр: </span><em id="barcode-container">' . $diameter . '</em></div>';
	} else {
    echo '<div class="attribute-single"><span>Диаметр: </span><em id="barcode-container"></em></div>';
	}

    // Получаем атрибут "Подставка"
    $podstavka = $product->get_attribute('pa_material-podstavki');
    if (!empty($podstavka)) {
        echo '<div class="attribute-single"><span>Подставка: </span>' . $podstavka . '</div>';
    }

    // Получаем атрибут "Цвет"
    $color = $product->get_attribute('pa_color');
    if (!empty($color)) {
        echo '<div class="attribute-single"><span>Цвет: </span>' . $color . '</div>';
    }
	// Получаем атрибут "Тип плетения"
    $tip_pleteniya = $product->get_attribute('pa_tip-pleteniya');
    if (!empty($tip_pleteniya)) {
        echo '<div class="attribute-single"><span>Тип плетения: </span>' . $tip_pleteniya . '</div>';
    }
	// Получаем атрибут "Материал корзины"
    $material_korziny = $product->get_attribute('pa_material-korziny');
    if (!empty($material_korziny)) {
        echo '<div class="attribute-single"><span>Материал корзины: </span>' . $material_korziny . '</div>';
    }
    ?>
</div>

Содержимое кода находилось в разделе — Внешний вид — Редактор тем — «Выбранная тема», файл variation-add-to-cart-button.php

VK
Telegram
WhatsApp
Skype
Facebook
Print

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Записаться на обучение

Заполни форму для предварительной записи на обучение созданию сайтов или напиши для консультации в один из мессенджеров: