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

Сортировка постов по типам (группировка, вариативные, партнерские)

Тема в разделе "WooCommerce - основы, описания, уроки.", создана пользователем Grollem, 29 янв 2015.

?

Полезная ли информация?

  1. да

    3 голосов
    75,0%
  2. нет

    0 голосов
    0,0%
  3. сложно реализовать

    1 голосов
    25,0%
  1. Grollem

    Grollem

    Сообщения:
    141
    Симпатии:
    47
    Баллы:
    28
    Ни для кого не секрет что woo есть разные типы товаров.
    Сейчас расскажу как вывести товары только определенного типа в каталоге.
    1. Создаем страницу и называем ее, например Группированные товары
    2. Выводим ее в пункт меню
    3. На странице воспользуемся встроенным шорткодом вуу [product_category category="vse-tovaryi"]
    4. Переопределяем шаблон вукомерса по адресу wp-content/plugins/woocommerce/templates/content-product.php (для этого в папке своей темы создаем папку woocommerce/ и копируем этот файл туда.
    5. Открываем файл content-product.php идем в район 40 строки и перед
    Код:
    // тут
    <li <?php post_class( $classes ); ?>>
        <?php do_action( 'woocommerce_before_shop_loop_item' ); ?>
    
    Вставляем код
    Код:
    // тут
    <?php
    $obj = get_queried_object();
    $product_type = get_post_custom_values('products_type', $obj->ID);
    if($product->product_type == $product_type[0] || $product_type == NULL )  {?>
    // наш код
    <li <?php post_class( $classes ); ?>>
        <?php do_action( 'woocommerce_before_shop_loop_item' ); ?>
    
    так же идем в конец этого файла и вставляем
    Код:
    <?php } ?>
    
    6. Идем в созданную нами странцу и создаем произвольное поле c именем products_type
    Значения в поле могут быть
    simple - простой товар
    grouped - группированные товар
    variable - вариативный товар
    external - партнерский товар
     
    Последнее редактирование: 29 янв 2015
    • Нравится Нравится x 1
    • Полезно Полезно x 1
  2. Vicos

    Vicos

    Сообщения:
    34
    Симпатии:
    5
    Баллы:
    8
    Спасибо! Идея помогла.
    Тогда дополню для переопределения шаблона вывода content-single-product.
    При отображении товара, ?product=товар-х, в глобальной переменной $product имеется свойство product_type, по нему то и можно будет разделять вариант вывода продукта.
    Код:
    <?php if ($product->product_type == 'grouped') :
    //Выводим грппированный товар
    elseif ($product->product_type == 'variable') :
    //Выводим вариативный товар
    elseif ($product->product_type == 'simple') :
    //Выводим простой продукт
    endif;
    ?>
     
    • Полезно Полезно x 1
  3. Grollem

    Grollem

    Сообщения:
    141
    Симпатии:
    47
    Баллы:
    28
    Ну вот в моем случае получается, можно для любой страницы задать свой список отображения.
    Ну а вообще недавно стояла задача сделать разные типы товаров, совершенно не предсказуемая сетка. Длинные, широкие, с заголовком справа, баннер.
     
  4. Vicos

    Vicos

    Сообщения:
    34
    Симпатии:
    5
    Баллы:
    8
    А как при клике на товар из каталога переопределить страницу для его отображения? В вашем случае это делается для вывода списка товаров, мне же требовалось изменять именно карточку товара.
     
  5. Grollem

    Grollem

    Сообщения:
    141
    Симпатии:
    47
    Баллы:
    28
    1 вариант. можно на странице single-page получить ярлык категории или id категории этого товара и по нему изменить (в случае если у вас товары не бывают в разных категориях)
    2 вариант. Для того товара который вы хотите изменить можно создать кастомное поле например (my_custom_prioduct) его читать на странице single_page и видоизменять товары у которого такое поле есть.
    Так же где то видел функцию чтобы присвоить кастомные поля сразу одной или нескольким категориям товара, чтобы в каждый не заходить и руками не прописывать, уверен что этот код можно было бы заточить не под категорию а под тип товара.
     
  6. Vicos

    Vicos

    Сообщения:
    34
    Симпатии:
    5
    Баллы:
    8
    Спасибо! Теперь имеем несколько довольно универсальных способов изменять шаблон вывода товара.