WooCommerce: шорткоды — примеры использования
Статья также дополнена другими примерами из практики студии.
Как использовать шорткоды
Шорткоды можно вставлять в страницы, посты и описания товаров.
Страницы
[woocommerce_cart]
– страница корзины
[woocommerce_checkout]
– страницу оформления заказа
[woocommerce_my_account]
– личный кабинет
[woocommerce_order_tracking]
– страница отслеживания заказа
Товары
[products]
— шорткод выводит товары. С помощью атрибутов можно выводить товары по идентификатору ID, артикулу SKU, категориям, характеристикам и меткам. Можно разбивать список товаров на страницы и настраивать сортировку.
Список атрибутов [products]
limit
— количество товаров. По умолчанию используется значение-1
, которое выводит все товары.columns
— количество столбцов. По умолчанию4
.paginate
— разбиение на страницы. Используется в сочетании сlimit
. По умолчанию установлено значение"false"
. Используйтеpaginate="true"
для разбиения на страницы.orderby
— сортирует товары:date
— по дате публикации.id
— по идентификатору товара ID.menu_order
— по порядковому номеру.popularity
— по количеству продаж.rand
— случайным, рандомным образом.rating
— по отзывам и оценкам.title
— по названию товара. Значение по умолчанию.
order
— указывает, как сортировать список товаров: по возрастаниюorder="ASC"
или по убываниюorder="DESC"
. По умолчанию используется значениеASC
— по возрастанию. Используется в сочетании сorderby
.skus
— артикулы. Несколько значений разделяйте запятыми.ids
— индентификаторы — ID товара. Несколько значений разделяйте запятыми.category
— названия категорий. Несколько значений разделяйте запятыми. Указывается слаг категории, напримерcategory="accessories"
.tag
— названия меток.attribute
— атрибуты товаров, то есть характеристики. Напримерattribute="color"
. Используется в сочетании сterms
.terms
— значение атрибутов товаров, напримерterms="red"
.terms_operator
— условие вывода атрибутов.tag_operator
— условия вывода меток.cat_operator
— условия вывода категорий.terms_operator
,tag_operator
иcat_operator
принимают одно из трёх значений:IN
— содержит. Установлено по умолчанию.NOT IN
— не содержит.AND
— содержит И то И это.class
— класс CSS.on_sale
— товары со скидкой.best_selling
— самые продаваемые товары.top_rated
— товары с отзывами и оценками.visibility
— видимость товара:visible
— видны в каталоге и в поиске. Значение по умолчанию.catalog
— видны в каталоге, но скрыты в поиске.search
— видны только в поиске, но скрыты в каталоге.hidden
— скрытые.featured
— помеченые, как избранные.
Примеры использования [products]
Товары со скидкой
Шорткод выводит 4 товара со скидкой в 4 столбца, отсортированных по популярности.
[products limit="4" columns="4" orderby="popularity" class="quick-sale" on_sale="true"]
Также добавлен собственный ccs-класс “quick-sale”, чтобы выделить товары с помощью серого фона и отступов.
.quick-sale { background-color: #ccc; padding: 5%; }
Рекомендуемые товары
Шорткод выводит 6 рекомендуемых ★ товаров в 3 столбца. По умолчанию используется сортировка по названию (от А до Я), хоть это и не указано явно.
[products limit="4" columns="2" visibility="featured"]
Самые продаваемые товары
[products limit="3" columns="3" best_selling="true"]
Шорткод выводит 3 самых часто покупаемых товара. По-умолчанию товары выводятся в 3 столбца, хоть это и не указано явно.
Новинки
[products limit="4" columns="4" orderby="id" order="DESC" visibility="visible"]
Шорткод выводит последние добавленные товары — 4 в одном ряду. Для этого мы будем использовать идентификатор ID (который генерируется при создании страницы товара), а также команды order и orderby.
Новые поступления
Если нужно вывести старые товары, как новинки, например если они недавно поступили на склад и их нужно показать в отдельном блоке. Для этого нужно обновить дату публикации у товаров. А в шорткоде указать способ сортировки — по дате.
[products limit="12" columns="6" orderby="date" order="DESC" visibility="visible" category="Одежда"]
Товары отдельных категорий
[products limit="4" columns="4" category="hoodies, tshirts" cat_operator="AND"]
Шорткод выводит 4 товара, которые принадлежат и к футболкам и к толстовкам. Принадлежность к обоим категориям проверяет оператор cat_operator="AND"
.
Если нужно вывести товары, которые не относятся к этим категориями, нужно изменить только значение аргумента cat_operator
на NOT IN
.
[products limit="4" columns="4" category="hoodies, tshirts" cat_operator="NOT IN"]
Товары с определёнными характеристиками
Шорткод выводит товары красного цвета, отсортированных по дате: сначала новые, потом старые.
[products columns="3" attribute="color" terms="red" orderby="date"]
Если нужно вывести все товары, за исключением красного цвета — добавим оператор terms_operator
со значением NOT IN
.
[products columns="3" attribute="color" terms="red" orderby="date" terms_operator="NOT IN"]
Товары с меткой, тегом
Шорткод выводит все товары с меткой «Худи»
[products tag="худи"]
Сортировка по пользовательским полям
С помощью шорткодов выше можно сортировать только по ID, наименованию товара, дате добавления, порядковому номеру, популярности, рейтингу или в случайном порядке.
Для сортировки по другим полям потребуется расширить шорткоды сортировки. Для этого разработчики WooCommerce рекомендуют код ниже. Код работает, но на некоторых темах после него перестают работать шорткоды, в которых сортировка не указана. Вобщем нужно тестировать.
Категории
Для вывода категорий используется два шорткода:
[product_category]
— выводит товары
[product_categories]
— выводит категории
Список атрибутов категорий
ids
— выводит категории с указанными ID, используется в [product_categories].category
— выводит категории по ID, наименованию или слагу (ярлыку) используется в[product_categories]
.limit
— количество товаров. По умолчанию используется значение-1
, которое выводит все товары.columns
— количество столбцов. По умолчанию4
.hide_empty
— по умолчанию используется значение1
, которое скрывает пустые категории. Установите значение0
, чтобы показать пустые категории.parent
— выводит подкатегории по ID родительской категории.orderby
— по умолчанию сортирует по «имени». Можно сортировать по «id», «slug» или «menu_order». Для ручной сортировки укажитеorderby="include"
.order
— сортировка по возрастаниюASC
или по убываниюDESC
. По умолчаниюASC
. Используется вместе сorderby
.
Примеры использования [product_category]
Шорткод выводит только категории верхнего уровня.
[product_categories parent="0"]
Страница товара
Шорткод выводит страницу одного товара по ID или артикулу.
[product_page id="26"]
[product_page sku="001"]
Сопутствующие товары
Шорткод выводит сопутствующие товары.
[related_products limit="2" columns="2"]
Добавить в корзину
add_to_cart
— шорткод добавляет товар в корзину по ID.
Кнопка «Добавить в корзину»
Шорткод выводит кнопку добавления товара в корзину. При нажатии на кнопку товар с ID=25 добавится в корзину в количестве 3 штук.
[add_to_cart ID="25" style="border:0; padding: 0; text-align:right;" show_price="0" quantity="3"]
style="border:0; padding: 0; text-align:right;"
— скрывает рамку, убирает внешний отступ у кнопки и выравнивает её по правому краю.
show_price="0"
— атрибут показывает или скрывает цену. По умолчанию зачение 1
показывает цену.
quantity="3"
— количество товара.
Пример таблицы:
Ссылка «Добавить в корзину»
Шорткод [add_to_cart_url ID="25"]
выводит на экран ссылку для добавления товара в корзину ?add-to-cart=25
.
Уведомления
[shop_messages]
выводит уведомления WooCommerce (например, “товар добавлен в корзину”) на страницах, не связанных с WooCommerce. Используется в [add_to_cart]
.
Хоть этот шорткод и указан в документации WooCommerce — мне не удалось проверить его работу. Шорткод [shop_messages]
у меня не работает.
а как быть с адаптивностью? допустим мы ставим 4 колонки, на пк будет все ок, а вот на смартфоне будет кошмар((
Разработчики это уже предусмотрели. На планшетах и мобильных количество колонок уменьшится. Проверьте )
вот именно, что нет, я ж не зря вопрос поднял
Уточните, какая у вас WordPress-тема?
Статья класс, спасибо большое. Пытался найти ответ на свой вопрос, но не смог, если поможете буду рад. Вопрос такой, как вывести похожие товары на странице товара из любой категории, но товары относящиеся к конкретному атрибуту как и сама карточка на которой выводятся похожие, если настройка карточки товара единая для всех товаров?
Например в карточке товара “дверь” из категории “А” имеет атрибут “Б”, как вывести
похожие товары на каждой странице с тем же атрибутом что и сама карточка товара?