Мало кто знает, но в WooCommerce есть несколько очень полезных и функциональных шорткодов.

Что такое шорткоды [shortcodes] в WordPress?

Шорткоды — это функции PHP, которые можно задействовать внутри содержимого поста, используя условные обозначения.

Визуально шорткоды выглядят как текст, заключенный в квадратные скобки — [ shortcode ]. Довольно просто и удобно. Бывают более сложные шорткоды, с параметрами и данными:

[  monoslideshow id=1 w=450 h=350 template=galleryview images=0 ]

В вордпресе шорткоды появились в версии 2.5 (официцальная документация) и существенно упростили добавляение кнонтента на страницы. Очень многие плагины используют шорткоды для организации контента и вывода отдельных данных на страницу. WooCommerce — не исключение.

Шорткоды в WooCommerce

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

  • [woocommerce_cart] — отображает страницу корзины
  • [woocommerce_checkout] — отображает страницу оплаты
  • [woocommerce_my_account] — отображает кабинет пользователя
  • [woocommerce_order_tracking] — отображает форму отслеживания заказа

Это базовые шорткоды. Нас больше интересуют шорткоды вордпресс для товаров. С их помошью можно формировать выборки различных товаров.

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

  • [featured_products],
  • [sale_products],
  • [best_selling_products],
  • [recent_products],
  • [product_attribute]
  • [top_rated_products].

Эти щорткоды используются в WooCommerce 3.2 и ниже. Если у вас более новая версия — смотрим ниже. Если же вы используете устаревшую версию — рекомендуем обновить сайт и версию WooCommerce.

Атрибуты для шорткодов [products]

  • limit – количество товавров для отображения. Значение «-1» отображает все товары.
  • columns – количество колонок для отображения. По умолчанию 4.
  • paginate – добавляет пагинацию. По умолчанию значение = false. Чтобы включить пагинацию, нужно установить true. Нужно использовать в сочетании с limit.
  • orderby – сортирует товары, отображаемые по введенной опции. Один или несколько параметров могут быть переданы путем добавления обоих слагов с пробелом между ними. Доступные варианты:
    • date – дата публикации товара
    • id – идентификатор товара
    • menu_order –  порядок отображения в меню (отображение от меньшего к большему).
    • popularity – количество продаж.
    • rand – рандомный порядок. Определяется при загрузке странице.
    • rating – средний рейтинг товара.
    • title – названию товара. Этот вариант является стандартным для orderby.
  • skus – список артикулов, через запятую.
  • category – список слагов для категорий, через запятую.
  • tag – список слагов для тегов, через запятую.
  • class – добавляет класс в HTML блока. Полезно при использовании CSS.

Отдельно стоит упомянуть три тега: on_sale выводит все акционные товары. Не рекомендуется использовать с best_selling (хиты продаж) или top_rated(товары с самым высоким рейтингом).

Несколько примеров использования шорткодов для WooCommerce

Четыре товара в ряд с акционной ценой отсортированы по популярности. Также, добавлен класс quick-sale:

Шорткод для вукомерс

[ products limit=»4″ columns=»4″ orderby=»popularity» class=»quick-sale» on_sale=»true» ]. Источник: docs.woocommerce.com

Отображаем 4 товара (по 2 в ряд).  Используем visibility=»featured»отображает избранные товары, которые отмечены «звездочкой» в админке (Featured Products):

расширенный шорткод в вордпресс интернет-магазине

[products limit=»4″ columns=»2″ visibility=»featured» ]. Источник: docs.woocommerce.com

Чтобы вывести новинки, можно использовать идентификатор товара (который создается при создании товара) вместе с командой order и orderby:

Отображаем новые товары в WooCommerce

[products limit=»4″ columns=»4″ orderby=»id» order=»DESC» visibility=»visible»]. Источник: docs.woocommerce.com

Еще один пример — товары из определенных категорий. Выводим по 4 товара в ряд из двух категорий (hoodies, tshirts):

Товары из отдельной категории

[products limit=»8″ columns=»4″ category=»hoodies, tshirts» cat_operator=»AND»]. Источник: docs.woocommerce.com

Обратите внимание, что cat_operator, terms_operator и terms_operator принимают одно из трех значений: AND, IN, NOT IN.

Еще больше примеров использования шорткодов можно найти в официальной документации: https://docs.woocommerce.com/document/woocommerce-shortcodes/.

Шоркоды в WooCommerce позволяют делать очень много интересных вещей. Обратите внимание, что речь идет о стандартных шорткодах, без дополнительных плагинов. Если не хотите разбираться в функционале шорткодов, можно установить плагины по типу Woo Shortcodes Kit или WooCommerce Shortcodes. Они позволят довольно просто и с помошью графического интерфейса вывести блок нужных вам товаров. 

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

Есть возможность выводить определенные категории. Для этого есть 2 шорткода:

  • [product_category] – все товары из определенной категории.
  • [product_categories] – все категории, которые есть в магазине.

С шорткодами можно использовать множество атрибутов. Например:

  • ids – указываем идентификатор категорий
  • limit – количество категорий для отображения
  • columns – количество колонок для отображения. По умолчанию 4.
  • hide_empty – по умолчанию значение = «1», что не отображает пустые категории. Чтобы отобразить категории безз товаров, устанавливаем «0».
  • parent – устанавливаем определенный идентификатор категории, если нужно отобразить все дочерние категории.
  • orderby – по умолчанию сортировка по name, но можно использовать ID, slug или menu_order. Если вы хотите заказать по указанным вами идентификаторам, вы можете использовать orderby = «include»
  • order – определяем порядок категорий по возрастанию (ASC) или убыванию (DESC), используя метод orderby. По умолчанию — ASC.

Пример для категории:  [product_categories number=»0″ parent=»0″]

шорткод для вывода категории

Источник: docs.woocommerce.com