В комплекте с WooCommerce идет немалый набор шорткодов, у этом уроке давайте разберемся, что с ними можно делать. Но прежде всего два момента:
<pre>
(возможно для этого вам понадобится сначала переключиться на вкладку HTML).Также рекомендую мой видеокурс по созданию интернет-магазина на WooCommerce на основе готовой вёрстки 🚀
Я их назвал так по очень простой причине — эти шорткоды вроде бы и есть, но вы не можете их использовать 😯 (пока что, возможно в будущем это изменится).
Как вы знаете, WooCommerce создаёт несколько системных страниц и наполняет их как раз этими шорткодами, например:
Конечно, на официальной документации WooCommerce это звучит лишь как рекоммендация, но то, что я точно знаю — я пробовал юзать [woocommerce_checkout]
на каких-то произвольных страницах, и у меня перестали работать платёжные шлюзы. А заглянув в код самого плагина, я понял, что оно и не должно работать.
Так что по этим шорткодам — можете попробовать, но то, что будет работать, не факт.
Например вот такой шорткод [recent_products per_page="4" columns="4"]
, использованный на стандартной странице WordPress в теме StoreFront вывел следующее:
Товаров вывелось два, потому что их у меня всего два в магазине, первый товар к тому же вариативный, поэтому у него нет кнопки добавления в корзину.
date
и именно благодаря этому шорткод и выводит последние товары, но мы можем использовать и другие параметры сортировки, перечисленные здесь.ASC
или по убыванию DESC
(по умолчанию).category1
и sportproducts
, а теперь вам нужно решить, хотите ли вы, чтобы выводимые товары присутствовали обязательно в обеих категориях AND
, в одной из категорий IN
(по умолчанию), либо не присутствовали в указанных категориях NOT IN
.Шорткод [featured_products]
выводит товары в точно таком же виде, как и предыдущий [recent_products]
, а также имеет те же самые параметры. Единственный момент — товар должен быть отмечен, как рекомендуемый, для этого можно например нажать на звезду:
То есть при помощи этого шорткода вы можете выводить любое количество рекомендуемых товаров, а также фильтровать их по категориям.
Например я использовал этот шорткод [product id="122"]
и получил вот такой результат:
Если вы всё ещё не в курсе, где берётся ID для постов или товаров, то вам срочно читать этот урок. Вместо ID вы также можете передать параметр sku
(артикул), который указывается на странице редактирования товара:
Вы можете указать через запятые айдишники или артикулы товаров, например [products ids="413,500"]
или [products skus="product1,product2"]
.
Кроме того, этот шорткод поддерживает параметры columns
, orderby
и order
, как в шорткоде [recent_products].
Шорткод выводит цену и кнопку добавления в корзину, если товар вариативный, то ссылку перехода на страницу товара.
Из обязательных параметров — либо ID товара id
, либо артикул sku
. Пример: [add_to_cart id="511"]
. Также поддерживаются следующие параметры:
[add_to_cart id="511" style="background-color:#eee;margin:10px 0"]
true
(отображать).Этот шорткод поддерживает только два параметра — либо ID товара id
, либо артикул sku
. Пример: [add_to_cart_url id="511"]
.
По сути полная копия шорткода [recent_products], разница лишь в том, что параметр order
принимает значение по умолчанию ASC
, а параметр orderby
принимает значение по умолчанию menu_order title
(сортировать сначала по порядку, а при одинаковых значениях порядка — по заголовку), ну и соответственно category
— обязательный параметр. Ну ок! 😁
Например я использовал этот шорткод [product_categories hide_empty=0]
для того, чтобы вывести все категории товаров на сайте, даже пустые. Так как я не добавлял миниатюр к самим категориям, то получилось у меня вот так:
Другие параметры шорткода:
array_slice()
.ASC
(по умолчанию) или по убыванию DESC
.Выводит карточку товара с изображением, кнопкой добавления в корзину и даже отзывами по ID товара [product_page id="94"]
или по артикулу [product_page sku="artikul1"]
.
Даже не буду делать скриншот, потому что выглядит всё это в точности так же, как на самой странице товара.
У шорткода точно такие же параметры, как и у [recent_products], по умолчанию товары сортируются по алфавиту, а также немного отличается шаблон вывода товаров:
Шорткод имеет параметры per_page
, columns
, category
и operator
, рассмотренные выше. Благодаря последним двум вы можете вывести наиболее продаваемые товары в каких-то определённых категориях.
Сортировка происходит по произвольному полю total_sales
.
И тут снова полный набор параметров, как у шорткода [recent_products], но сортировка происходит по пользовательскому рейтингу.
Это значит, что мы не можем использовать этот шорткод на какой-то левой странице — в этом случае он нам просто ничего не выведет.
По умолчанию выводится 4 случайных товара в 4 колонки ( [related_products per_page="4" columns="4" orderby="rand"]
, больше кстати у шорткода нет параметров ), которые указаны в разделе сопутствующие товары в Апсейле:
Если ничего не указано, то шорткод ничего не выведет.
То, что у нас есть параметры per_page
, columns
, category
и operator
, про которые я уже неоднократно упоминал выше, вы уже наверное догадались — повторю, что они подробно описаны в шорткоде [recent_products].
Также у нас имеется ещё два параметра: attribute
— ярлык атрибута, и filter
— значение этого атрибута, причем вы можете указывать несколько значений через запятую.
Пример:
[product_attribute attribute="color" filter="red,blue"]
Выводим товары с атрибутом цвета равным красному или синему.
Спасибо вам большое, очень помог.
Я хочу вывести похожие товары но без заголовок "Похожие товары".
Попробовал это но не помог:
[related_products per_page="5" columns="5" orderby="rand" title=""]
Не хочу вас разочаровывать, но возможно вам лучше попробовать подкорректировать шаблон
single-product/related.php
. Ну или фильтрgettext
...Да сработало. Спасибо вам. Удалил этот с шаблона и всё:
При добавлении в запись шорткода [product_page id="23"] продукт появляется, но есть проблема, что в отображаемом товаре имя продукта в обернуто, и сама запись (заголовок поста) тоже в , в каком то файле можно имя продукта хотя бы в h2 завернуть?
Добрый день,
ответил здесь.
При добавлении в запись шорткода [product_page id="23"] продукт появляется, но есть проблема, что в отображаемом товаре имя продукта в h1 обернуто, и сама запись (заголовок поста) тоже в h1, в каком то файле можно имя продукта хотя бы в h2 завернуть?
Вероятно, что в файле
content-single-product.php
, но там одни хуки, поэтому можно попробовать хукнутьwoocommerce_template_single_title
. Сам не пробовал, это мои предположения.Привет [best_selling_products] выводится как попало. Продаж не было, а шорткод выводит список продуктов. Если не заданы параметры, то выводит все продукты. Какая логика этого шорткода?
Здравствуй Миша. Сейчас под товаром выводятся последние добавленные товары в количестве 10 шт. с помощью [recent_products per_page="10"]
Хочу вывести товары из одной категории. Как я понял из статьи необходимо вставить параметр category.
Как его правильно вставить, чтобы работало. На странице товара выводились товары из этой же категории?
Спасибо за ответ!
Добрый день, Максим.
А
[recent_products category="mycategory" per_page="10"]
не пробовали?Вставил. Вовсе перестали показываться товары ((
Может "mycategory" как то по другому у меня называется или выводится
А как вставили?
Вот скрин http://joxi.ru/D2PBGnhqEjeMr3
Значит ярлык вашей категории "mycategory"? 🤔
Ага, понял )
Смотрите, Михаил. Если я поставлю какую-то один ярлык категории, то на всех страница товара будет отображаться одно и тоже.
Хочет, что бы "recent_products category" подтягивал ту категорию в которой находится товар.
Товар в фунгицидах - подтянулись товары из категории фунгициды, товар из гербицидов - подтянулись товары из категории фунгицид, из той же категории что и товар. Вот как.
Ну вот и разобрались 🙃
В таком случае вам можно попробовать задействовать обычные похожие товары
[related_products]
, они как раз собираются по меткам и категориям.Да, это шорткод [related_products] более подходящий, большое спасибо!
Только вот в категории Фунгициды он мне подтягивает продукты из инсектицидов, гербицидов и тд. http://joxi.ru/LmG3GWswjRlEml
Как его ограничить только на категории Фунгициды. И может добавить какие то еще параметры например одинаковые метки?
Может потому, что у меня у товара 3 категории. И только 3 уровень является основной для него http://joxi.ru/nAyXo1sgRXal2Z
Да
Можете попробовать метками.
А как сделать, чтобы подтягивалась не определенная одна метка, а метки которые содержаться в товаре.
[метки содержащиеся в товаре = "2" или хотя бы "1"] - тут будут выводиться товары которые содержать 2 схожие метки или хотя бы одну.
Такие вот нужны параметры ))
Понятно ))
Понятно то понятно ))
Как это реализовать не понятно?!
Ладно, спасибо Миш большое!
Да пожалуйста, взаимно!
По крайней мере мы раскрыли в комментариях тему шорткода похожих записей, если кто-то столкнётся с трудностями, как это всё работает, сможет найти ответ в комментах.
Если бы я это делал, я бы сначала прочекал функцию вывода стандартного шорткода, возможно её можно было бы как-то захукать, чтобы она брала по нужному тегу/категории. Если бы это было сделать невозможно или бессмысленно, то создал бы свой собственный шорткод, который выводил бы как мне надо 🤷♂️
Миша, вывел в общем все категориями с лимитом 3-2 шт и с рандомный.
Получилось норм. Пока данного решения хватит ) спасибо! Мозги чуть прокачал.
🔥💪
Здравствуйте! Подскажите пж как вывести на странице товара (шаблон) вариации товара (цвет, размер). Дело в том что в теме woodmart есть режим каталога, в этом режиме убираться все корзины. Все норм но с корзиной так же пропадают и варианты цвета и размера на странице просмотра товара. Может как то шорткодом вывести ?
Здравствуйте,
шорткодом вряд ли получится
Может кодом подскажите?
У меня его нет, если бы был, конечно поделился бы
Здравствуйте. Подскажите, пожалуйста, а как можно вывести все новинки за месяц? То есть, не ограниченное количество последних загруженных товаров, а все товары, которые были загружены в последние 30 дней.
Как вывести товары на странице например с ценой до 3000р, есть ли такой шорткод? Именно чтобы можно было вывести на странице, чтобы сделать посадочную страницу
Здравствуйте! Что-то не могу понять, как в шорткоде убрать родительскую категорию, причем, только в одной категории есть дочерние. И нужно дочерние показать. Перечислять id как-то неправильно, хочу одну исключить. Подскажете, если нетрудно? Часто бываю Ваши статьи, всегда помогали, спасибо Вам! А здесь тупик.