Документация плагина «WT Price List Pro»

Плагин выводит прайс-лист на сайте и поддерживает оптовые цены от количества для:

  • товаров WooCommerce;
  • собственного каталога wt_product;
  • страниц WordPress, отмеченных как товар (режим products_source=page).

Разработчик: АИТ «WebTechnology».


Содержание

  1. Требования
  2. Быстрый старт
  3. Настройки плагина
  4. Оптовые цены (цены от количества)
  5. Ручное редактирование цен
  6. Импорт оптовых цен
  7. Экспорт и откат
  8. Шорткоды
  9. Вывод на сайте
  10. Корзина WooCommerce
  11. Миграция из ADP
  12. Импорт каталога wt_product
  13. Частые вопросы

Требования

  • WordPress 5.8+
  • PHP 7.4+ (рекомендуется 8.0+)
  • Для оптовых цен в интернет-магазине: WooCommerce (активный)
  • Для импорта/экспорта оптовых цен: права Управление WooCommerce (или администратор)

После первого включения модуля оптовых цен таблицы в БД создаются автоматически. Повторная активация плагина не обязательна.


Быстрый старт

Прайс-лист на странице

  1. Установите и активируйте плагин WT Прайс-лист Pro.
  2. Откройте Настройки → WT Прайс-лист Pro, задайте источник товаров и шаблон.
  3. На нужной странице вставьте шорткод:
[wt_price_list]

Оптовые цены для WooCommerce

  1. Настройки → WT Прайс-лист Pro → секция Оптовые цены → включите «Включить модуль» → сохраните.
  2. Откройте WooCommerce → Оптовые цены.
  3. Загрузите CSV (шаблон: example/wt-price-list-qty-import-template.csv в папке плагина).
  4. Включите «Создать отсутствующие товары WooCommerce», если товаров ещё нет в каталоге.
  5. Нажмите Предпросмотр, затем Начать импорт.

Важно: импорт оптовых цен выполняется на странице WooCommerce → Оптовые цены, а не в общих настройках плагина.


Настройки плагина

Путь: Настройки → WT Прайс-лист Pro

Основные параметры

ПараметрОписание
Товары (products_source)Источник данных для прайс-листа: wt_product (стандартные товары), woocommerce_product (товары WooCommerce), page (страницы WordPress как товары)
Шаблонfootable — таблица с сортировкой и фильтрами; standart — простая вёрстка

Секция «Оптовые цены»

ПараметрОписание
Включить модульВключает шорткоды оптовых цен, пересчёт в корзине WC и вывод на карточке товара
Стиль таблицыminimal, bordered, striped — оформление таблиц и списка диапазонов
Скрыть при одной ценеНе показывать таблицу, если у товара только один ценовой диапазон
На карточке товараАвтоматически выводить список оптовых цен на странице товара WooCommerce
Столбцы количестваЗначения qty для матрицы, через запятую (по умолчанию: 1,20,100,300,500,1000,2000)
Текст-заглушкаСообщение, если у товара нет оптовых цен

Пока модуль выключен, страница WooCommerce → Оптовые цены (импорт) остаётся доступной, но шорткоды и пересчёт в корзине не работают.

Поле «Файл импорта» внизу страницы настроек

Это отдельный импорт — каталога wt_product (собственный тип записей плагина). Файл должен содержать колонку product_name.

Для оптовых цен WooCommerce это поле не используется — см. Импорт оптовых цен.


Оптовые цены (цены от количества)

Как это работает

Для каждого товара задаётся несколько диапазонов количества:

min_qtymax_qtyprice
119148.80
2099124.00
100299122.00
1000*(пусто = без верхней границы)*109.66

При добавлении в корзину или при смене количества на карточке товара применяется цена диапазона с наибольшим подходящим min_qty.

Товар определяется по:

  1. product_id (если указан в CSV)
  2. SKU (product_sku)
  3. Названию (product_title)

Где хранятся данные

Оптовые цены хранятся в таблице БД wp_wt_pl_qty_prices (префикс сайта может отличаться).

Важно:

  • диапазоны (min_qty/max_qty/price) хранятся отдельно от стандартных meta-полей цены;
  • при сохранении диапазонов и после импорта плагин синхронизирует базовую цену WooCommerce (_regular_price/_price) с ценой минимального диапазона (для корректной сортировки и отображения в каталоге).

Ручное редактирование цен

Товар WooCommerce

  1. Товары → Все товары → откройте товар.
  2. Блок Данные товара → вкладка Оптовые цены.
  3. Заполните строки: Min qty, Max qty, Цена.
  4. Кнопка Добавить диапазон — новая строка.
  5. Сохраните товар.

Товар wt_product

  1. Товары (тип записи плагина) → откройте запись.
  2. Метабокс Оптовые цены — та же таблица диапазонов.

Страница-товар (режим products_source=page)

  1. Включите источник товаров Страницы WordPress в настройках плагина.
  2. Откройте нужную страницу, отмеченную как товар.
  3. Используйте метабокс Оптовые цены аналогично wt_product.

Импорт оптовых цен

Путь: WooCommerce → Оптовые цены

Поддерживаемый формат CSV

Колонки (первая строка — заголовки):

product_sku,product_id,product_title,min_qty,max_qty,price

Пример файла: example/wt-price-list-qty-import-example.csv

КолонкаОбязательноОписание
product_sku*Артикул; хотя бы одно из: sku, id, title
product_id*ID записи WC / wt_product
product_title*Название товара
min_qtyдаНижняя граница количества (≥ 1)
max_qtyнетВерхняя граница; пусто = «и выше»
priceдаЦена за единицу в диапазоне
currencyнетПоддерживается только для совместимости со старыми CSV, в текущем импорте игнорируется

* Достаточно одного способа указать товар.

Настройки импорта

ОпцияРекомендация
Заменить существующиеВключить — перед импортом удаляются старые диапазоны затронутых товаров
Резервная копияВключить — можно откатить импорт в течение 24 часов
Создать товары WCВключить, если в CSV указано название, а товара ещё нет в WooCommerce
Строгий режимВключить, если нужно прервать импорт при любых предупреждениях

Порядок действий

  1. Нажмите Предпросмотр — проверьте статистику и первые строки.
  2. Начать импорт — обработка пакетами (прогресс-бар).
  3. Откройте карточку товара → вкладка Оптовые цены — убедитесь, что диапазоны на месте.

Ограничения

  • Максимальный размер файла: 10 MB
  • Кодировка: UTF-8
  • Разделитель: запятая или точка с запятой (определяется автоматически)

Экспорт и откат

На странице WooCommerce → Оптовые цены:

КнопкаДействие
Экспортировать текущие ценыCSV всех диапазонов в нативном формате (включая product_id и product_title)
Скачать шаблон CSVПустой шаблон с примером строк
Откатить последний импортВосстановить цены из резервной копии (если импорт делался с включённой опцией «Резервная копия»)

Шорткоды

Прайс-лист

[wt_price_list]

Основные атрибуты:

АтрибутПо умолчаниюНазначение
sortingtrueСортировка таблицы
pagingtrueПагинация
paging_size50Размер страницы
name_linkfalseДелать название товара ссылкой
column_name_titleНаименованиеЗаголовок колонки названия
column_unit_titleЕд.изм.Заголовок колонки единицы
column_price_titleЦенаЗаголовок колонки цены
filter_ui_radiofalseРадио-фильтр по таксономии (taxonomy_...)
filter_item_none_titleВесь товарПодпись пункта «без фильтра»
filter_product_categoryfalseФильтр по категории товара
grouping_by_product_categoryfalseГруппировка по категориям
products_orderbynullПорядок сортировки товаров в выборке

Оптовые цены

Работают только при включённом модуле Оптовые цены.

[wt_price_list_qty id="123" qty="100"]
АтрибутОписание
idID товара (обязательно)
qtyКоличество столбца (по умолчанию 1)
formatprice, price_currency, raw
emptyТекст, если цена не найдена
[wt_price_list_qty_row id="123" columns="1,20,100" show_size="400×400" format="price"]
[wt_price_list_qty_matrix ids="10,11,12" columns="1,20,100,500" show_size="true"]

Столбцы qty по умолчанию берутся из настройки Столбцы количества, если columns не указан.

[wt_price_list_qty_table id="123"]

Вертикальный список «от — до … цена». На странице товара id можно не указывать — подставится текущий товар.

Дополнительные атрибуты:

АтрибутПо умолчаниюНазначение
formatprice_currencyФормат цены (price, price_currency, raw)
show_emptyfalseПоказать текст-заглушку при отсутствии диапазонов
[wt_price_list_qty_bulk_table id="123" format="price"]

Выводит компактную таблицу вида «количество → цена» (по строке на каждый диапазон). На странице товара id можно не указывать.


Вывод на сайте

Автоматический вывод на карточке товара

При включённой опции «На карточке товара» под ценой WooCommerce появляется список оптовых диапазонов.

Пересчёт цены при смене количества

На карточке товара при изменении поля Количество:

  • основная цена не скрывается на время пересчёта;
  • цена обновляется по таблице диапазонов с небольшой задержкой (200 мс);
  • подсвечивается активный диапазон в списке.

Работает с классическими темами и блоками WooCommerce.

Стили

Стили подключаются из css/qty-prices.css. Классы:

  • wt_pricelist_qty__card — блок списка на карточке
  • wt_pricelist_qty__matrix — таблица-матрица
  • wt_pricelist_qty__style-minimal / bordered / striped

Корзина WooCommerce

При включённом модуле оптовых цен цена позиции в корзине пересчитывается по количеству в корзине (тот же алгоритм, что и на карточке товара).

Для кастомизации доступен фильтр WordPress wt_price_list_qty_cart_item_price.


Миграция из ADP

Если на сайте активен плагин Advanced Dynamic Pricing for WooCommerce (Pro), на странице WooCommerce → Оптовые цены появляется блок «Миграция из ADP».

  1. Настройки → WT Прайс-лист Pro → включите Оптовые цены.
  2. Убедитесь, что ADP активен и в нём настроены bulk-правила.
  3. WooCommerce → Оптовые цены → блок миграции ADP.
  4. Включите Резервная копия и при необходимости Заменить существующие.
  5. Предпросмотр миграции → Начать миграцию.

Особенности:

  • Данные читаются напрямую из ADP (без экспорта CSV).
  • Товары сопоставляются по фильтрам правил (ID, SKU) или по названию правила.
  • Правила только по категориям и package-правила пропускаются (отображаются в предупреждениях).
  • Скидки в процентах и суммах пересчитываются от regular price WooCommerce.

После миграции проверьте несколько товаров вручную (вкладка Оптовые цены и корзина с разным количеством).


Импорт каталога wt_product

Путь: Настройки → WT Прайс-лист Pro → поле Файл импорта (внизу страницы)

Используется для наполнения собственного каталога плагина (wt_product), а не WooCommerce.

Обязательная колонка: product_name. Дополнительно: category, category_parent, product_unit, menu_order и произвольные meta-поля.

Если загрузить CSV оптовых цен (без product_name) на эту страницу, плагин покажет предупреждение и не будет импортировать файл — используйте WooCommerce → Оптовые цены.


Частые вопросы

Почему после импорта изменилась регулярная цена товара WooCommerce?

Это ожидаемое поведение: после сохранения диапазонов плагин синхронизирует regular price с ценой минимального диапазона (min_qty), чтобы карточка и каталог WooCommerce показывали актуальную базовую цену.

Импорт прошёл «успешно», но цен нет в админке

Чаще всего таблицы БД не были созданы до импорта. Обновите страницу и повторите импорт. При необходимости деактивируйте и снова активируйте плагин.

Товар создался, оптовых цен нет

Импорт оптовых цен и создание товара — разные операции. Убедитесь, что импорт выполнен на WooCommerce → Оптовые цены, а не только включена галочка «Создать товары WC» без успешного завершения импорта диапазонов.

Предпросмотр импорта «зависает»

Обновите страницу (Ctrl+F5). Проверьте wp-content/debug.log на ошибки PHP. Убедитесь, что плагин обновлён до версии с подключёнными классами импорта.

Цена на карточке не меняется при смене количества

  1. Включён ли модуль Оптовые цены в настройках?
  2. Есть ли диапазоны у этого товара (вкладка Оптовые цены)?
  3. Очистите кэш сайта и обновите страницу с Ctrl+F5.

SKU не найден при импорте

Укажите product_title или включите Создать товары WC. Для нативного CSV с одним только product_sku название при создании берётся из SKU.

Два разных импорта — в чём разница?

Настройки → Файл импортаWooCommerce → Оптовые цены
НазначениеКаталог wt_productОптовые цены WC
Ключевая колонкаproduct_namemin_qty, price, sku/title
Создаёт товары WCНетОпционально

Примеры файлов в плагине

ФайлНазначение
example/wt-price-list-qty-import-template.csvШаблон нативного импорта
example/wt-price-list-qty-import-example.csvПример одного товара, 6 диапазонов

Поддержка

При обращении в поддержку АИТ «WebTechnology» укажите:

  • версию WordPress и WooCommerce;
  • скриншот настроек Оптовые цены;
  • фрагмент debug.log при ошибках импорта;
  • пример строки из CSV, которая обрабатывается неверно.

Кейсы внедрения

MAX