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-тема?