Хаки для вариаций товаров в WooCommerce
Ранее я уже рассматривал создание вариативного товара в WooCommerce, когда пользователю доступен выбор разных значений атрибутов (цвет, вес) для продукции интернет-магазина. Добавить подобную фишку на сайт можно с помощью базовых функций модуля. Тем не менее, в ходе работы иногда возникают нюансы и задачи, когда придется внедрять дополнительные хаки. Именно об этих решениях для WooCommerce вариаций товаров мы сегодня и поговорим.
По аналогии с постом про кнопку добавить в корзину соберу несколько сниппетов в рамках одной заметки. Причем все они частично будут между собой пересекаются + есть задачи, которые решаются с разными подходами. Поэтому рекомендую данный пост читать максимально вдумчиво со всеми пояснениями! Содержание:
- Вывод минимальной цены для вариаций в магазине (глобальное решение).
- Отображаем минимальную стоимость в разделах.
- Показ цены по умолчанию (в разделах).
- Глюк с одинаковой стоимостью вариантов.
- Вариации без выпадающего списка (с чекбоксами).
- Выполнение jQuery скриптов при выборе вариаций WooCommerce (другой пост).
- Выбор вариантов продукции на странице каталога (другой пост).
Вывод минимальной цены для всех вариаций
Некоторые заказчики хотят реализовать в своем магазина фишку, когда на странице каталога настроен вывод вариаций товара WooCommerce только с минимальной ценой. Во-первых, это маркетинговый ход дабы показывать наименьшую стоимость. Во-вторых, сможете сэкономить немного места в шаблоне, отображая лишь одну цену.
Изначально в этом посте рассказывал о сниппете, который решал проблему только в архиве/категориях, а для страницы товаров я все настраивал в шаблоне. Данный «глобальный» подход «закрывает» сразу несколько подзадач по этой теме.
Код публикую частями (чтобы было проще объяснять суть), а вы вставляйте эти блоки в файл функций темы functions.php подряд друг за другом в такой же очередности.
function bbloomer_variation_price_format( $price, $product ) { if (is_product()) { return $product->get_price(); } else { // Main Price $prices = array( $product->get_variation_price( 'min', true ), $product->get_variation_price( 'max', true ) ); $price = $prices[0] !== $prices[1] ? sprintf( __( '%1$s', 'woocommerce' ), wc_price( $prices[0] ) ) : wc_price( $prices[0] ); // Sale Price $prices = array( $product->get_variation_regular_price( 'min', true ), $product->get_variation_regular_price( 'max', true ) ); sort( $prices ); $saleprice = $prices[0] !== $prices[1] ? sprintf( __( '%1$s', 'woocommerce' ), wc_price( $prices[0] ) ) : wc_price( $prices[0] ); if ( $price !== $saleprice ) { $price = '<del>' . $saleprice . '</del> <ins>' . $price . '</ins>'; } return $price; } } if ( ! is_admin() ) { add_filter( 'woocommerce_variable_sale_price_html', 'bbloomer_variation_price_format', 10, 2 ); add_filter( 'woocommerce_variable_price_html', 'bbloomer_variation_price_format', 10, 2 ); } |
Здесь:
- Во-первых, функция учитывает наличие скидочной цены: если она активна, то пользователь увидит перечеркнутой базовую стоимость, а рядом будет стоять ценник со скидкой.
- Во-вторых, в начале есть условие is_product, за счет которого наши действия сработают для всех страниц кроме единичного продукта (там свои нюансы).
- В-третьих, ниже мы видим еще один условный оператор is_admin чтобы все это «происходило» только на сайте, а НЕ в админке.
// show variation price add_filter('woocommerce_show_variation_price', function() {return true;}); //override woocommerce function function woocommerce_template_single_price() { global $product; if ( ! $product->is_type('variable') ) { woocommerce_get_template( 'single-product/price.php' ); } } |
Второй блок состоит из двух решений. Если я правильно понял логику первой строки, то там мы избавляемся от глюка, когда все вариативные цены одинаковые и, как следствие, не показываются на странице (кому нужен данный хак отдельно, ищите ниже).
С помощью переопределения функции woocommerce_template_single_price мы будем выводить для вариаций такой же блок шаблона, что и для простой продукции. Также, вероятно, где-то здесь избавляемся от двойного отображения стоимости у вариативных товаров.
function shuffle_variable_product_elements(){ if ( is_product() ) { global $post; $product = wc_get_product( $post->ID ); if ( $product->is_type( 'variable' ) ) { remove_action( 'woocommerce_single_variation', 'woocommerce_single_variation', 10 ); add_action( 'woocommerce_before_variations_form', 'woocommerce_single_variation', 20 ); remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_title', 5 ); add_action( 'woocommerce_before_variations_form', 'woocommerce_template_single_title', 10 ); remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_excerpt', 20 ); add_action( 'woocommerce_before_variations_form', 'woocommerce_template_single_excerpt', 30 ); } } } add_action( 'woocommerce_before_single_product', 'shuffle_variable_product_elements' ); |
Финальный блок, как и остальные части, позаимствованы отсюда. Внимание! Он НЕ обязательно должен быть именно таким – все зависит от вашего шаблона. Тут важно понять суть происходящего в нем.
Специфика ситуации в том, что вариативные товары являются динамическим элементом страницы и редактируются через JavaScript файл add-to-cart-variation.js. Данный элемент помещается внутрь блока <div class=»woocommerce-variation single_variation»>, который в свою очередь должен оставаться внутри формы с классом variations_form. Поэтому и производятся все эти переносы блоков на странице товара.
Как я уже сказал выше, совсем не обязательно использовать весь этот код. Удаляйте/перемещайте только те блоки, которые вам не нужны. В моем случае хватило таких строк (первые 2 точно нужны, а код с title и excerpt — при необходимости):
function shuffle_variable_product_elements(){ if ( is_product() ) { global $post; $product = wc_get_product( $post->ID ); if ( $product->is_type( 'variable' ) ) { remove_action( 'woocommerce_single_variation', 'woocommerce_single_variation', 10 ); add_action( 'woocommerce_before_variations_form', 'woocommerce_single_variation', 20 ); } } } add_action( 'woocommerce_before_single_product', 'shuffle_variable_product_elements' ); |
Отображение только минимальной цены в рубриках/категориях
Самый просто вариант, который можно здесь придумать это:
Метод1
add_filter('woocommerce_variable_price_html', 'mycustom_variation_price', 10, 2); add_filter('woocommerce_variable_sale_price_html', 'mycustom_variation_price', 10, 2 ); function mycustom_variation_price( $price, $product ) { if ( ! is_admin() && ((is_shop() || is_product_category() || is_page()))) { $price = ''; $price .= woocommerce_price($product->get_price()); } return $price; } |
Размещается традиционно в файле functions.php. Здесь вы с помощью хуков заменяете стандартные функции отображения вариаций товара WooCommerce на свою. Также добавляем условие показа только в каталоге (главная, архив, отдельные страницы — is_shop, is_product_category, is_page). Не забываем про исключение из админки (!is_admin).
Вариант, как видите, не учитывает наличие скидочных цен. Если вы хотите отображать новый ценник рядом с перечеркнутым акционным, то тут пригодится следующий хак:
Метод2
/** * Change variable product price to display From £#.## instead of price range * * @param string $price * @param \WC_Product_Variable $product * * @return float|string */ function jc_variable_product_price_display($price, $product){ $price_min = $product->get_variation_price( 'min', true ); $price_sale_min = $product->get_variation_sale_price( 'min', true ); if($product->is_on_sale() && $price_min < $price_sale_min){ $price = sprintf('<del>%s</del><ins>%s</ins>', wc_price($price_min), wc_price($price_sale_min)); }else{ $price = wc_price($price_min); } return sprintf('From: %s', $price); } add_filter( 'woocommerce_variable_sale_price_html', 'jc_variable_product_price_display', 10, 2 ); add_filter( 'woocommerce_variable_price_html', 'jc_variable_product_price_display', 10, 2 ); |
Этот пример взят отсюда и (внимание!) тут нет никаких условных операторов — если вам они нужны, следует их использовать.
У двух этих методик есть ряд «особенностей», на которые следует обратить внимание. Сниппеты могут вносить определенную «неточность» при восприятии информации на сайте. Например:
- У вас есть вариативный товар стоимостью $10-$30, и посетитель выбирает в фильтрах значение «от $20 и выше». Данная позиция будет отображена на странице в любом случае, но вместо диапазона в цене показывается минимальное знание — $10.
- Если условиями исключать единичную страницу is_single, то в блоке похожей продукции на ней могут остаться диапазоны цены. Плюс обычную страничку с товаром также нужно как-то обрабатывать при выводе (через глобальный код выше или своими методами).
- Не забывайте, что хаки применяются и в админке, поэтому без исключения !is_admin не обойтись.
- В первом случае может перестать работать «перечеркивание» для скидок.
Ну, и напоследок нашел не менее интересный подход:
Метод3
/** * @snippet Variable Product Price Range: "From: <del>$$$min_reg_price</del> $$$min_sale_price" * @how-to Get CustomizeWoo.com FREE * @sourcecode https://businessbloomer.com/?p=275 * @author Rodolfo Melogli * @compatible WooCommerce 3.5.4 * @donate $9 https://businessbloomer.com/bloomer-armada/ */ add_filter( 'woocommerce_variable_price_html', 'bbloomer_variation_price_format', 10, 2 ); function bbloomer_variation_price_format( $price, $product ) { // 1. Get min/max regular and sale variation prices $min_var_reg_price = $product->get_variation_regular_price( 'min', true ); $min_var_sale_price = $product->get_variation_sale_price( 'min', true ); $max_var_reg_price = $product->get_variation_regular_price( 'max', true ); $max_var_sale_price = $product->get_variation_sale_price( 'max', true ); // 2. New $price, unless all variations have exact same prices if ( ! ( $min_var_reg_price == $max_var_reg_price && $min_var_sale_price == $max_var_sale_price ) ) { if ( $min_var_sale_price < $min_var_reg_price ) { $price = sprintf( __( 'From: <del>%1$s</del><ins>%2$s</ins>', 'woocommerce' ), wc_price( $min_var_reg_price ), wc_price( $min_var_sale_price ) ); } else { $price = sprintf( __( 'From: %1$s', 'woocommerce' ), wc_price( $min_var_reg_price ) ); } } // 3. Return $price return $price; } |
Отображение цены вариации по умолчанию
Есть еще один способ вывода одной цены вместо диапазона на страницах категорий. Вы можете показывать для вариаций WooCommerce стоимость товара, выбранного по умолчанию. Соответствующая настройка задается в закладке «Вариации»:
Я, в принципе, стараюсь всегда указывать этот параметр дабы не возникало никаких «случайных несостыковок» на странице описания продукции магазина. Чтобы выводить данное значение в разделах добавьте в functions.php следующие строки:
add_filter('woocommerce_variable_price_html', 'custom_variation_price_default', 10, 2); add_filter('woocommerce_variable_sale_price_html', 'custom_variation_price_default', 10, 2 ); function custom_variation_price_default( $price, $product ) { foreach($product->get_available_variations() as $pav){ $def=true; foreach($product->get_variation_default_attributes() as $defkey=>$defval){ if($pav['attributes']['attribute_'.$defkey]!=$defval){ $def=false; } } if($def){ $price = $pav['display_price']; } } return woocommerce_price($price); } |
Решение найдено тут. По сравнению с предыдущим методом здесь чуть больше кода, но, к сожалению, «неточности» возникают такие же: с фильтрами, отображением товара «не в наличии», показом стоимости в админке. Единственное преимущество, делающее такой подход гибче — возможность выбора вручную какую цену выводить.
Вариации товара с одинаковыми ценами
Не знаю как в новых Woocommerce 3.x, но в предыдущей ветке точно закрался странный глюк. Если у вас имеется товар с несколькими вариациями, для которых установлена одинаковая стоимость, то на странице с его описанием поле цены будет скрыто.
Чтобы это исправить в файл функций добавляем:
add_filter('woocommerce_available_variation', function ($value, $object = null, $variation = null) { if ($value['price_html'] == '') { $value['price_html'] = '<span class="price">' . $variation->get_price_html() . '</span>'; } return $value; }, 10, 3); |
Повторюсь, у меня этот косяк появляется в Woocommerce 2.6.x, возможно, в следующей версии он уже исправлен. Дополнительно советую глянуть плагин скидок и оптовых цен в WooCommerce.
Если первый вариант не сработает, вот похожий прием:
add_filter( 'woocommerce_show_variation_price', 'filter_show_variation_price', 10, 3 ); function filter_show_variation_price( $condition, $product, $variation ){ if( $variation->get_price() === "" ) return false; else return true; } |
Вариации товара в WooCommerce без выпадающего списка
Я думаю, выпадающий список — не лучший способ выбора вариаций на странице магазина WooCommerce. Как минимум, пользователю приходится делать дополнительное действие для просмотра доступных значений атрибутов, плюс не все смогут сходу сообразить куда нужно кликать и т.п. Поэтому решение с чекбоксами (Radio Buttons) выглядит куда более юзерфрендли.
В сети найдете разные хаки по данной задаче. Однако мне больше всего нравится реализация с помощью модуля — внедряется она максимально просто и быстро. Наибольшее доверие из имеющихся плагинов вызывает WC Variations Radio Buttons.
На момент написания статьи последняя версия модуля имела чуть более 3 тысяч загрузок и хорошую оценку. В некоторых шаблонах решение может работать сразу после установки и активации. Если же разработчики внесли свои правки в файл WooCommerce магазина single-product/add-to-cart/variable.php, то вам нужно будет:
- Создать дочернюю тему (если ее нет).
- Скопировать файл из директории модуля plugins/wc-variations-radio-buttons/templates/single-product/add-to-cart/variable.php в ваш шаблон сюда — themes/ИМЯ_ТЕМЫ/woocommerce/single-product/add-to-cart/variable.php. Если там уже есть такой файл, замените его.
Как правило, в шаблонах магазинов WooCommerce все реализуется через дочерние темы, поэтому с первым пунктом сложностей возникнуть не должно. В дальнейшем я постараюсь этот момент рассмотреть более детально.
Если у вас имеются вопросы по теме поста как вывести вариации товара в WooCommerce, пишите ниже.
комментария 74 к статье “Хаки для вариаций товаров в WooCommerce”
Блог Wordpress Inside поможет вам научиться работать в вордпресс, закрепить и расширить имеющиеся знания. Плагины и шаблоны, разные хаки и функции wp, оптимизация и безопасность системы – все это и намного больше вы сможете найти на страницах нашего проекта!
Если хотите быстро и оперативно получать последние новости и статьи, то рекомендуем подписаться на обновления блога:
- Як сховати відсутні товари в Woocommerce шорткодах та схожих товарах
- Сервіс AdMaven + плагін для монетизації трафіка на WordPress сайтах
- Плагіни для створення стрічки новин з біжучим рядком в WordPress
- Як змінити розміщення кнопки оформлення замовлення в WooCommerce
- Плагін WHWS Display In Stock Products First – відображення товарів в наявності першими
- Підписка MonsterONE: чи варто використовувати цей сервіс у 2023 році? (+5 продуктів, які треба скачати в першу чергу)
- Онлайн генератор ссылок на мессенджеры для WordPress и не только
- WooCommerce (46)
- Безопасность (12)
- Видео (6)
- Виджеты (28)
- Возможности (141)
- Вопрос-ответ (6)
- Начинающим (52)
- Новости (46)
- Оптимизация (23)
- Плагины (246)
- Сервисы (87)
- Хаки и секреты (87)
- Шаблоны (45)
- Дизайн Мания - о веб-дизайне и не только.
- Tod's Blog - все про заработок онлайн.
- Вебдванольные заметки - обзоры веб-сервисов.
- Советы по выбору холодильника LG с технологией No Frost
- Зачем нужны Wi-Fi ретрансляторы и как выбрать подходящую модель
- Введение в онлайн-казино Slotor777: многообразие игр и привлекательные бонусы
- Необходимость использования облачного хранилища в наше время, что важно и как выгодно?
- Спрощення процесу звітності за допомогою програми BAS Бухгалтерія
- Технологія підключення інтернету GPON та її переваги
- За що гравці найбільше цінують Lineage 2
- Для каких проектов нужна аренда виртуального сервера и что такое VPS
День добрый.
В вариативных товарах Woo, есть возможность в каждой карточке товара задавать стартовый вариант отображения.
Пример: Так если товаром является одежда с размерами S, M, L, XL — можно выбрать какой размер будет отображен при первом посещении страницы пользователем.
Если принудительный выбор не делать (в зависимости от плагина или его отсутствия) будет выводиться надпись: «выберете…» «размер…» или что-то подобное.
Вопрос: Есть ли способ\фикс\плагин\решение — которое позволит принудительно выставлять первый вариант (в примере это размер S) — всем товарам без принудительной настройки в каждой карточке товара Woo?
P.S: кроме того, если определенный размер заканчивается на складе\был отключён (закончился размер S). Выбранным размером по умолчанию становиться M.
Версия Woo — последняя.
Решение нашел сам — плагин — WooCommerce Force Default Variant
DiZeR, если честно я думал, что в Woo будет автоматические выводить вариации, но, насколько я помню, пришлось задавать базовое значение вручную. Вероятно, сложность в том, что система не знает какая именно у вас очередность подразумевается — для нее понять какой из «S, M, L» или «красный / белый / синий» должен быть первым, вторым и т.п. не так просто как человеку. Если бы я искал хак для задачи, то гугли бы что-то по типу «вывод/сортировка вариаций по ID или number (номеру в списке). Может когда-то в будущих версиях эту опцию добавят по умолчанию.
DiZeR, спасибо за наводку!)
как вывести только доступные вариации(если выбрать один параметр то остальные не активные где нет вариации с данным фильтром)
gari, нужно гуглить, я не встречал такую задачу, не смогу подсказать.
Можно как-то сделать, чтобы при выборе разной вариации пользователю отправлялись разные сообщения на емайл? Продаю виртуальные товары и для каждой вариации у меня разный набор высылаемых текстов и ссылок. Как вариант — сделать вместо вариации самостоятельный продукт, но не хотелось бы их плодить лишний раз.
Евг, если честно, с такой задачей не сталкивался.. да и вообще с виртуальными товарами пока что не работал. Тут нужно оценивать затраты времени/денег — если нет готовых модулей и придется нанимать программиста, то возможно на первых порах запуска проекта эффективнее сделать самостоятельные продукты и для каждого разные картинки-превью. Я у одного разработчика такое видел (по 3 товара для одной темы) — не скажу, что меня сильно это напрягало как покупателя.
Здравствуйте, может кто подскажет в чем проблема, при создании вариативного товара в Вукомерсе на сайте отображается только оптовая цена
Алена, не совсем понимаю, что значит «оптовая цена». Вообще формат того, что будет показано на сайте, задается в шаблоне (или маловероятно — в дополнительных модулях). Можете попробовать переключиться на Вордпресс тему по умолчанию и глянуть как в магазине отображается ценник там. Если он выгляди по-другому, нужно разбираться в каком месте своего шаблона меняется данный формат цен.
Здравствуйте. Столкнулся с проблемой вариативных товаров — как сделать неактивной вариацию при ее отсутствии в продаже (например зачеркнуть). Товаров много, вариаций много, посетителей много, каждый щелкает по вариациям, расходуются ресурсы сайта на загрузку, и, во-вторых, так было бы удобнее покупателям. Спасибо за помощь!
Денис, учитывая то, что я во всех сайтах использую вариации списком, то взял бы за основу решения модуль WC Variations Radio Buttons и в его коде в том месте где формируется список вариаций добавил проверку «если она в наличии, то выводить в списке, иначе — нет». Если используется другой плагин для вывода, то редактировал бы его код. Можно еще погуглить, вдруг есть какой-то фильтр под эту задачу, но я пока что, увы, такого не встречал.
Добрый день! Данный код выводит для всех вариативных товаров без товара по умолчанию максимальную цену и только там, где выбран товар по умолчанию выводится его цена. Есть ли какой-то вариант с выводом диапазона цен там, где по умолчанию товар не задан и одной цены где задан? Либо выводить в каталоге цену только вариантов в наличии (диапазон при нескольких вариантах) и не выводить товаров под заказ?
У меня в магазине будут как простые, так и вариативные товары. Считаю более правильным и удобным для покупателя показывать именно диапазон цен для вариативных. Но у некоторых товаров есть еще возможность покупки со склада или под заказ. Естественно, под заказ с длительным ожиданием, без ограничения в количестве единиц и цена на 15-20% ниже чем со склада. Если единственной вариативностью товара оказывается наличие, то диапазон цен в каталоге может вызвать ложные ожидания и негатив. Отказаться от вариаций кроме наличия и выводить максимальную цену не хорошая идея, т.к. у части вариативных товаров вариации обозначают комплектность и некорректно делать карточки товара по комплектности.
Александр, к сожалению, я встречал только такую реализацию задачи… помнится приходилось для всех товаров ставить цену по умолчанию. Дополнительные улучшения можно сделать разве что подправив этот код с помощью стороннего программиста или найти решение в онлайне.
День добрый!
Извините если не в тему. Ищу вот такой хак акции — «при покупке двух товаров, третий бесплатно». Причем бесплатно самый дешевый.
Не подскажете где найти готовый или если самому написать это дело, то откуда хотя бы начать.
Спасибо!
Олег, слишком специфичная функция — тут либо платный модуль, либо заказывать у разработчика.
у меня на товаре лейбл с процентом скидки. и скидка указывается максимальная (из вариаций).
можно ли сделать чтобы она была как цена — из вариации по умолчанию?
спасибо
Павел К, можно посмотреть пример с кодом цены по умолчанию и как-то видоизменить для своей задачи, точное решение, увы, не подскажу.
Тод, спасибо.
такой ещё вопрос: мне нужно, чтобы на странице категории кроме цены, была ещё цена до скидки (перечёркнутая). может, у кого-нибудь есть фрагмент кода?
Павел К, можно погуглить что-то типа woocommerce get price before discount и др. В одном месте нашел какие-то намеки на решение, мол сначала считываешь объект продукта через:
$_product = wc_get_product( $product_id )
Но надо знать ID. А дальше уже реально выводить разные цены:
$_product->get_regular_price();
$_product->get_sale_price();
$_product->get_price();
Здравствуйте. С вуу я на Вы) Подскажите, пожалуйста. Для карточки пиццы мне нужно сделать возможность заказчику добавлять ингредиенты из списка. Скажите, смогу ли я использовать вариативные товары или мне нужен плагин? Пока поняла, что вариативные товары предлагают мне или\или. А мне нужно и\и. Спасибо за ответ.
Анастасия, вам нужно гуглить плагины что-то типа «Composite Products WooCommerce» или «Bundles Product WooCommerce» или комбинированные (составные) товары — эти решения позволяют делать заказ, включая в него разные компоненты. Пока в блоге статей по этой теме не было.
Добрый день, такой вопрос как реализовать чтобы на странице магазина под карточкой отображалась информация к примеру количество стоимость, или вариация 1 кг сумма при выборе 1.2 кг другая сумма
Андрей, готовое решение не подскажу, но тут либо самом кодить с выводом всей этой информации из базы, либо поискать уже готовые сниппеты (а может даже модули имеются). Я с такой задачей не сталкивался, поэтому затрудняюсь ответить.
Здравствуйте. Вопрос про вариации. Товар весовой и продается по 50-100-200 гр в виде вариаций.Общий вес к примеру 2кг. Есть возможность чтоб при покупки к примеру 100 гр сайт вычитал из наличия эти граммы и после покупки было в наличии 1.9 кг? Есть настройки запасов каждой вариации но они не зависят друг от друга что не удовлетворяет потребность.
Артем, возможно, есть специальный плагин для этого, но я не встречал. Теоретически, можно было сделать 1 товара по 100гр. (без вариаций) и ставить в наличии его 20шт, т.е. 2кг. А если человеку надо 200-500, то он просто берет нужное количество товара. Не уверен, что можно изменить логику работы вариации, чтобы она была связана с общим весом…
Подскажите пожалуйста. Как вывести все доступные цвета по размеру вариации. Например товар с размерами X, L, M и цвета розовый, белый, синий Получается для вариации X получить все цвета, например их два. Для размера L например три цвета
Sergey, так в Wocommerce по умолчанию обладает данной функцией. По крайней мере в последнем магазине, который я делал, все работало автоматически. Например, есть 3 размера и 4 цвета, то в итоге максимально у вас может получится 12 вариаций. Если каких-то цветов для опредленного размера нет, то вариация не создается. После этого когда пользователь выберет, допустим, M-размер, на странице отобразатся только те цвета, которые для него доступны. В общем, надо тестировать — вы уже создавали вариации и вас какая-то ошибка или еще не пробовали? Повторюсь, мне кажется, данная фишка есть в модуле магазина изначально.
Как сделать вывод вариации в таком виде? randewoo.ru/product/escentric-molecules-escentric-01
чтобы они были с картинкой, названием и ценой и возможностью купить?
Ольга, если нет готового плагина, то лько написанием своей функции. Взять за основу выбор вариации в виде чекбоксов (последний плагин) и подправить его так чтобы информация выводилась в одну строку, причем не только цена, но и все данные по товару — название, фото и т.п.