Клиент обратился с задачей вывести в карточке товара только те атрибуты, которые заполнены, а те, которые не заполнены должны быть скрыты.
Изначально код вывода атрибутов был такой:
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