• Никакой политики на форуме. Иначе - бан!
  • Вопрос без рабочей ссылки на проблему считается риторическим. Без ссылки и скриншота - провокацией!
  • Темы озаглавленные с маленькой буквы или капсом удаляются без предупреждения!

2.9. Настройки и опции. Шорткоды

Статус
В этой теме нельзя размещать новые ответы.

D&B

Администратор
Команда форума
Местный
См так же эту тему


У 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>. Это распространенная проблема. Чтоб убрать эти теги, отредактируйте страницу:

WooCommerce-Shortcode-Pre-Tags.jpg

Сортировка товаров по кастомным мета полям

Во многих шорткодах типа:
• [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.

ВНИМАНИЕ! На всякий случай, всегда сверяйте копируемый код с оригиналом по ссылке ниже.

Оригинал тут
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу