У WooCommerce есть несколько шорткодов, которые можно использовать для вклейки контента в страницы и записи.
Шорткоды страницы:
• [woocommerce_cart] – показывает страницу корзины
• [woocommerce_checkout] – показывает страницу оформления заказа
• [woocommerce_order_tracking] – показывает форму отслеживания заказа
• [woocommerce_my_account] – показывает страницу «Мой аккаунт»
В большинстве случаев эти шорткоды добавляются на страницы автоматически, с помощью нашего мастера настройки,и их не нужно добавлять вручную.
Корзина
Данный шорткод используется на странице корзины, отображая ее содержимое, интерфейс для работы кодами купонов, а также прочие составляющие корзины.
Args: none
[woocommerce_cart]
Оформление заказа
Этот шорткод используется на странице оформления заказ и отображает процесс оформления заказа.
Args: none
[woocommerce_checkout]
Форма отслеживания заказа
Позволяет пользователю узнать статус заказа, введя его данные.
Args: none
[woocommerce_order_tracking]
Мой аккаунт
Показывает область «Мой аккаунт», где пользователь может просмотреть прошлые заказы и обновить свою информацию. Можно настроить количество видимых заказов. По умолчанию установлено 15 (используйте -1 для отображения всех заказов.)
Args:
array( 'current_user' => '', 'order_count' => '15' ) [woocommerce_my_account order_count="12"]
Аргумент текущего пользователя задается автоматически, при помощи get_user_by( ‘id’, get_current_user_id() ).
Шорткоды, которые даны ниже можно, использовать, где угодно:
Последние товары
Список последних товаров, который полезен на домашней странице. Шорткод ‘per_page’ определяет количество товаров, показываемых на странице, а атрибут ‘columns’ контролирует, сколько колонок займут товары до сгиба страницы
Args:
array( 'per_page' => '12', 'columns' => '4', 'orderby' => 'date', 'order' => 'desc' ) [recent_products per_page="12" columns="4"]
Рекомендуемые товары
Работает почти так же, как «Последние товары», но отображает товары, которые заявлены, как «рекомендуемые». В нашем примере шорткод говорит: показать 12 рекомендуемых товаров в 4 колонках.
Args:
array( 'per_page' => '12', 'columns' => '4', 'orderby' => 'date', 'order' => 'desc' ) [featured_products per_page="12" columns="4"]
Товары
Показывает единичный товар по ID или SKU.
[product id="99"] [product sku="FOO"]
*Если товар не отображается, убедитесь в том, что он не отмечен, как Hidden в Catalog Visibility.
Чтоб узнать ID товара, откройте экран Товары, наведите курсор на товар и ID появится, как показано ниже.
Товары
Показывает множество товаров по ID или SKU. Не забывайте писать во множественном числе ‘products’.
Args:
array( 'columns' => '4', 'orderby' => 'title', 'order' => 'asc' ) [products ids="1, 2, 3, 4, 5"] [products skus="foo, bar, baz" orderby="date" order="desc"]
Если товар не отображается, убедитесь в том, что он не отмечен, как Hidden в Catalog Visibility.
Добавить в корзину
Показывает цену и кнопку «Добавить в корзину» для единичного товара по ID.
Args:
array( 'id' => '99', 'style' => 'border:4px solid #ccc; padding: 12px;', 'sku' => 'FOO' ) [add_to_cart id="99"]
URL «отправить в корзину»
Отражает URL на кнопке «Отправить в корзину» единичного продукта по его ID.
Args:
array( 'id' => '99', 'sku' => 'FOO' ) [add_to_cart_url id="99"]
Категория товара
Показывает множество товаров в категории по «Ярлыку»
Идем в: WooCommerce > Товары >Категории, где находим колонку «Ярлык».
Args:
array( 'per_page' => '12', 'columns' => '4', 'orderby' => 'title', 'order' => 'asc', 'category' => '' ) [product_category category="appliances"]
Категории товаров
Отображает цикл категории товаров.
Args:
array( 'number' => 'null', 'orderby' => 'title', 'order' => 'ASC', 'columns' => '4', 'hide_empty' => '1', 'parent' => '', 'ids' => '' )
Поле `number` используется для отображения количества товаров, а поле `ids` говорит шорткоду, какие категории отображать.
[product_categories number="12" parent="0"]
Параметр parent со значением 0, нужен для того, чтоб отображать категории только верхнего уровня. Установите ID’и в виде списка, где ID’и разделены запятой.
Страница товара
Показывает полную страницу единично продукта, используя ID или SKU.
[product_page id="99"] [product_page sku="FOO"]
Распродажа
Список товаров на распродаже
Args:
array( 'per_page' => '12', 'columns' => '4', 'orderby' => 'title', 'order' => 'asc' ) [sale_products per_page="12"]
Хиты продаж
Хиты продаж на распродаже
Args:
array( 'per_page' => '12', 'columns' => '4' ) [best_selling_products per_page="12"]
Рекомендуемые товары
Список рекомендуемых товаров
Args:
array( 'per_page' => '12', 'columns' => '4', 'orderby' => 'title' ) [related_products per_page="12"]
Лучшие товары
Список лучших товаров на распродаже
Args:
array( 'per_page' => '12', 'columns' => '4', 'orderby' => 'title', 'order' => 'asc' ) [top_rated_products per_page="12"]
Атрибут товара
Список товаров с атрибутивным шорткодом.
Args:
array( 'per_page' => '12', 'columns' => '4', 'orderby' => 'title', 'order' => 'asc', 'attribute' => '', 'filter' => '' ) [product_attribute attribute='color' filter='black']
Аргумент «на странице»
Замечание: аргумент шорткода «на странице» определяет, сколько товаров будет показано на странице. Пагинация шорткоду не добавляется.
Решаем проблемы с шорткодами
Если вы правильно вклеили шорткод, но желаемое отображается некоректно, убедитесь в том, что что вы не вклеили шорткод между тегами <pre>. Это распространенная проблема. Чтоб убрать эти теги, отредактируйте страницу:
Сортировка товаров по кастомным мета полям
Во многих шорткодах типа:
• [recent_products]
• [featured_products]
• [products]
• [product_category]
• [sale_products]
• [top_rated_products]
• [product_attribute]
• [related_products]
Вы можете выбрать порядок товаров, согласно следующим значениям.
• menu_order
• title
• date
• rand
• id
Для примера используем атрибут “orderby”:
[products skus=”foo, bar, baz” orderby=”date” order=”desc”].
Но вы также можете сортировать товары по кастомным мета полям, используя код, данный ниже (в этом примере мы задали порядок товаров по цене):
add_filter( 'woocommerce_shortcode_products_query', 'woocommerce_shortcode_products_orderby' ); function woocommerce_shortcode_products_orderby( $args ) { $standard_array = array('menu_order','title','date','rand','id'); if( isset( $args['orderby'] ) && !in_array( $args['orderby'], $standard_array ) ) { $args['meta_key'] = $args['orderby']; $args['orderby'] = 'meta_value_num'; } return $args; }
этот сниппет в functions.php, который находится в папке вашей темы, а затем кастомизировать его, отредактировав meta_key.