У WooCommerce есть много стандартных шорткодов, которые могут облегчить вашу жизнь 

Как использовать шорткоды?

Шорткоды могут быть использованы на страницах и в постах WordPress. Если вы используете редактор блоков Gutenberg, то выберите блок «Шорткоды» из списка блоков:

Если вы используете классический редактор, то вы можете вставить шорткод на страницу или в публикацию.

Шорткоды страниц

WooCommerce создает несколько системных страниц и наполняет их следующими шорткодами. Без трех первых шорткодов, WooCommerce не сможет корректно работать.

  • [woocommerce_cart] – показывает корзину
  • [woocommerce_checkout] – страница оформления заказа
  • [woocommerce_my_account] – для страницы “Мой аккаунт”
  • [woocommerce_order_tracking] – показывает форму отслеживания заказа

Шорткоды вывода товаров

Шорткод [products] — один из самых надежных шорткодов, который может заменять различные другие строки, используемые в более ранних версиях WooCommerce.

Шорткод [products] позволяет отображать продукты по ID, артикулу, категориям, атрибутам, с поддержкой разбивки на страницы, случайной сортировки и тегов продуктов, заменяя необходимость в нескольких шорткодах, таких как [featured_products][sale_products][best_selling_products][recent_products][product_attribute], and [top_rated_products].

Атрибуты продукта

Следующие атрибуты доступны для использования вместе с шорткодом [products].

Показывает атрибуты продукта

  • limit – задает количество отображаемых продуктов. По умолчанию -1 (отображать все).
  • columns – задает количество столбцов. По умолчанию показывает 4.
  • paginate – включает разбиение на страницы (пагинацию). Используется вместе с limit. По умолчанию имеет значение false. Если нужно включить разбивку на страницы, то задайте значение true.
  • orderby – сортировка отображаемых продукты по введенному параметру. Можно передать один или несколько параметров, добавив оба ярлыка с пробелом между ними. Доступные варианты:
    • date – сортировка по дате публикации.
    • id – сортировка по ID товара.
    • menu_order – сортирует по порядку меню, если установлен (сначала отображаются меньшие числа).
    • popularity – по количеству покупок.
    • rand – произвольная сортировка (рандом). Может не работать на сайтах, использующих кеширование, так как может сохранить определенный порядок
    • rating – по рейтингу продукта.
    • title – по названию продукта. This is the default orderby mode.
  • skus – Comma-separated list of product SKUs.
  • category – Comma-separated list of category slugs.
  • tag – Comma-separated list of tag slugs.
  • order – States whether the product order is ascending (ASC) or descending (DESC), using the method set in orderby. Defaults to ASC.
  • class – Adds an HTML wrapper class so you can modify the specific output with custom CSS.
  • on_sale – Retrieve on sale products. Not to be used in conjunction with best_sellingor top_rated.
  • best_selling – Retrieve the best selling products. Not to be used in conjunction with on_sale or top_rated.
  • top_rated – Retrieve top-rated products. Not to be used in conjunction with on_saleor best_selling.

[featured_products] — выводит рекомендуемые товары, для этого они должны быть у вас отмечены звездочкой в админке

  • [sale_products] — выводит товары со скидкой
  • [best_selling_products] — вывод наиболее продаваемых товаров
  • [recent_products] — вывод последних добавленных позиций
  • [product_attribute] — позволяет вывести все товары с определенным значением какой-либо атрибута
  • [top_rated_products] — выводит товары с наибольшим рейтингом

Также, есть шорткод [products], который может быть использован вместо  вышеизложенных шорткодов. Он отображать товары по идентификатору поста, артикулу, категориям, атрибутам, с поддержкой нумерации страниц, случайной сортировки и тегов товаров.

Шорткоды категорий

  • [product_category] – отображение товаров из указанной категории
  • [product_categories] – покажет все категории

Корзина

[add_to_cart] — кнопка добавления товара в корзину.

Шорткод выводит цену и кнопку добавления в корзину, если товар вариативный, то ссылку перехода на страницу товара. Из обязательных параметров — либо ID товара id, либо артикул sku. Пример: [add_to_cart id="236"].

[add_to_cart_url] — выводит URL относительно текущей страницы сайта, при переходе по которому товар будет добавлен в корзину

[product_page] — выводит всю страницу товара по ID или артикулу

Страница продукта

Показываем полную страницу продукта по идентификатору или артикулу

[product_page id="99"]
[product_page sku=”FOO”]

Примеры использования:

В следующих сценариях я буду использовать пример магазина детских товаров.

Сценарий 1. Выводим все категории

[product_categories number="0" parent="0"]

Сценарий 2. Выводим случайные товары с распродажи

В этом шорткоде я выведу 4 продукта в 4 колонки, показывая самые популярные товары в продаже. Шорткод также добавляет класс quick-sale, благодаря которому можно модифицировать стили.

[products limit="4" columns="4" orderby="popularity" class="quick-sale" on_sale="true"]

Сценарий 3. Рекомендуемые товары

Я хочу отобразить по две позиции в ряд, максимум 4 элемента. Шорткод использует значения по умолчанию, такие как сортировка по заголовку (от A до Z), хоть это явно и не указано.

[products limit="4" columns="2" visibility="featured"]

Сценарий 4. Самые продаваемые товары

В данном случае я хочу показать три моих самых продаваемых продукта в одной строке.

[products limit="3" columns="3" best_selling="true"]

Сценарий 5. Новые товары

Буду отображать новейшие продукты — четыре продукта в одной строке. Для этого мы будем использовать идентификатор публикации (который создается при создании страницы продукта), а также команды order и orderby. Поскольку вы не можете увидеть ID публикации с фронтэнда, они (ID) должны быть наложены на изображения.

[products limit="4" columns="4" orderby="id" order="DESC" visibility="visible"]

Сценарий 6. Конкретные категории

Я хочу вывести товары из категорий «Игры» и «Лепка». Для этого использую следующий шорткод, который отобразит последние добавленные товары заданных категорий.

[products limit="4" columns="4" category="igry, lepka"]

Или:

[products limit="4" columns="4" category="igry, lepka" cat_operator="AND"]

В качестве альтернативы можно отображать только продукты, не относящиеся к этим категориям. Все, что нужно изменить, это добавить оператор cat_operator="NOT IN":

[products limit="4" columns="4" category="igry, lepka" cat_operator="NOT IN"]

Сценарий 7. Отображение атрибутов

В примере ниже, я выведу 3 колонки с определенным атрибутом, например — издательство. Слаг атрибута — izdatelstvo а само значение будет — devar. Сортировку сделаем по дате: от новых к старым. Таким образом, мне отобразятся все имеющиеся позиции заданного издательства.

[products columns="4" attribute="izdatelstvo" terms="devar" orderby="date"]

Если я хочу отобразить товары исключая заданное издательство, то тогда нужно в шорткод добавить terms_operator="NOT IN".

Сценарий 8. Вывод товара с определенным тегом

[products tag="hoodie"]