Как на WOOCOMMERCE в карточке товара сделать дополнительные поля?

Ссылка скопирована
1 ответ

Всем привет! Подскажите, как добавить дополнительные поля с характеристиками в краткую новость (карточку товара).

Как на WOOCOMMERCE в карточке товара сделать дополнительные поля?

Вот как здесь,
Площадь
Инвертор
Уровень шума
Страна бренда

Можно и при помощи плагина

Дополнительно

Можно немного подробнее пожалуйста. И Какой плагин попробовать?

Ответы:

Стандартные атрибуты товара. По которым потом и фильтровать можно.

Или плагинами если атрибуты почему-то не подходят

Нужно решить такую задачу?

Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

Заказать помощь
Лучший ответ
1
Анна SEO Ответ

В WooCommerce дополнительные характеристики товара обычно не нужно делать «самодельными полями» сразу. Сначала проверьте штатные атрибуты товара: «Товары → Атрибуты». Для параметров вроде «Площадь», «Инвертор», «Уровень шума», «Страна бренда» это чаще всего лучший вариант, потому что атрибуты можно показывать в карточке, использовать в фильтрах, вариациях и сравнении.

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

add_action('woocommerce_after_shop_loop_item_title', function () {
    global $product;
 
    if (! $product instanceof WC_Product) {
        return;
    }
 
    $names = ['pa_area', 'pa_inverter', 'pa_noise-level', 'pa_brand-country'];
    echo '<ul class="product-card-attrs">';
    foreach ($names as $name) {
        $value = $product->get_attribute($name);
        if ($value !== '') {
            echo '<li>' . esc_html(wc_attribute_label($name)) . ': ' . esc_html($value) . '</li>';
        }
    }
    echo '</ul>';
}, 15);

add_action('woocommerce_after_shop_loop_item_title', function () { global $product; if (! $product instanceof WC_Product) { return; } $names = ['pa_area', 'pa_inverter', 'pa_noise-level', 'pa_brand-country']; echo '<ul class="product-card-attrs">'; foreach ($names as $name) { $value = $product->get_attribute($name); if ($value !== '') { echo '<li>' . esc_html(wc_attribute_label($name)) . ': ' . esc_html($value) . '</li>'; } } echo '</ul>'; }, 15);

Код лучше класть в дочернюю тему или небольшой плагин, не в файлы WooCommerce. Если поле нужно только как справочная строка и не будет участвовать в фильтрах, можно использовать ACF или обычные meta-поля, но это менее удобно для каталога.

  • Для фильтрации и характеристик — атрибуты WooCommerce.
  • Для уникальной технической информации без фильтрации — ACF/meta.
  • Для изменения внешнего вида карточки — hook или override шаблона в дочерней теме.

После вывода добавьте CSS для списка, чтобы характеристики не ломали сетку каталога. Также проверьте мобильный вид: длинные значения атрибутов часто растягивают карточки.

Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

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

Вам также может быть интересно