У 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 defaultorderbymode.
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 inorderby. Defaults toASC.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 withbest_sellingortop_rated.best_selling– Retrieve the best selling products. Not to be used in conjunction withon_saleortop_rated.top_rated– Retrieve top-rated products. Not to be used in conjunction withon_saleorbest_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="knigi, kanczelyariya"]

В качестве альтернативы можно отображать только продукты, не относящиеся к этим категориям. Все, что нужно изменить, это добавить оператор cat_operator="NOT IN":
[products limit="4" columns="4" category="knigi, kanczelyariya" cat_operator="NOT IN"]

Сценарий 7. Отображение атрибутов
В примере ниже, я выведу 3 колонки с определенным атрибутом, например — издательство. Слаг атрибута — izdatelstvo а само значение будет — eksmo. Сортировку сделаем случайным образом. Таким образом, мне отобразятся все имеющиеся позиции заданного издательства.
[products columns="4" attribute="izdatelstvo" terms="eksmo" orderby="random"]

Если я хочу отобразить товары исключая заданное издательство, то тогда нужно в шорткод добавить terms_operator="NOT IN".
Сценарий 8. Вывод товара с определенным тегом
[products tag="red"]
