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

Шорткоды

Тема в разделе "WooCommerce документация (оф. на русском)", создана пользователем D&B, 15 окт 2016.

Статус темы:
Закрыта.
  1. D&B

    D&B Администратор Команда форума Местный

    Сообщения:
    3.262
    Симпатии:
    721
    Баллы:
    113
    См так же эту тему


    У 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.

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

    Оригинал тут
     

Статус темы:
Закрыта.