Как вывести определенные атрибуты WooCommerce на страницу с товаром в Elementor?

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

Всем привет!
У меня использую конструктор Elementor ,и использованием WooCommerce.
При создании товара указываю в нем определенные атрибуты. Есть функционал вывести все сразу, НО нет такого, чтобы можно было в определенное место выводить нужный атрибут.
Подскажите, это можно сделать через шорткоды или еще какими то способами, и желательно не затрагивая при этом код?

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

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

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

Заказать помощь
Лучший ответ
1
Игорь Волков Ответ

В Elementor Pro часть атрибутов WooCommerce можно вывести без кода через динамические теги и виджеты товара, но точечный вывод одного конкретного атрибута часто проще сделать шорткодом. Тогда в нужное место шаблона Elementor вставляется виджет Shortcode.

Пример шорткода для глобального атрибута WooCommerce, например pa_color или pa_power:

add_shortcode('product_attribute', function ($atts) {
    if (! function_exists('wc_get_product')) {
        return '';
    }
 
    $atts = shortcode_atts([
        'name' => '',
        'id' => get_the_ID(),
    ], $atts);
 
    $product = wc_get_product((int) $atts['id']);
 
    if (! $product || $atts['name'] === '') {
        return '';
    }
 
    $value = $product->get_attribute($atts['name']);
 
    return $value ? esc_html($value) : '';
});

add_shortcode('product_attribute', function ($atts) { if (! function_exists('wc_get_product')) { return ''; } $atts = shortcode_atts([ 'name' => '', 'id' => get_the_ID(), ], $atts); $product = wc_get_product((int) $atts['id']); if (! $product || $atts['name'] === '') { return ''; } $value = $product->get_attribute($atts['name']); return $value ? esc_html($value) : ''; });

В Elementor вставляете:

[product_attribute name="pa_color"]

[product_attribute name="pa_color"]

Для локального атрибута товара имя может быть не pa_..., а обычное название атрибута. Его можно посмотреть в админке товара или в списке атрибутов WooCommerce.

Если совсем без кода, проверьте виджеты Elementor Pro для Single Product и динамические WooCommerce-поля. Но когда нужно вывести ровно один атрибут в произвольном месте и переиспользовать это на многих товарах, маленький shortcode в дочерней теме или mu-plugin обычно надёжнее.

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

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

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

комментарий

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

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