Как в вукомерс сделать архив товаров по категориям?

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

В чем суть задачи. Мне нужно чтобы в магазине были разные виды "магазинов". Должно быть несколько блоков с предустановленной категорией типа "Шапки" и товары исключительно по шапка, дальше к примеру "Ремни" и только ремни. Желательно убрать чекбокс сортировку слева сверху и добавить вариации на сам магазин. В вукомерсе нашел что можно добавить только категории, но можно ли это как то кастомизировать и убрать колличество товаров справа от названия?

Как в вукомерс сделать архив товаров по категориям?

Как в вукомерс сделать архив товаров по категориям?

Как в вукомерс сделать архив товаров по категориям?

Дополнительно:

Так и есть. Что делал и что не получилось?

  • Refguser, Мне нужно чтобы он выводил товар по категории, но такой настройки я не нашел. Он либо выводит весь товар либо просто отражает категории
  • svyatpeter0317, woo и так "по категориям" выводит. Напиши внятно и понятно что, где и как ты хочешь. Исправляй вопрос и не экономь буквы. Можешь и рисунок приложить.
  • Refguser, В чем суть задачи. Мне нужно чтобы в магазине были разные виды "магазинов". Должно быть несколько блоков с предустановленной категорией типа "Шапки" и товары исключительно по шапка, дальше к примеру "Ремни" и только ремни. Желательно убрать чекбокс сортировку слева сверху и добавить вариации на сам магазин. В вукомерсе нашел что можно добавить только категории, но можно ли это как то кастомизировать и убрать колличество товаров справа от названия?

    Как в вукомерс сделать архив товаров по категориям?

    Как в вукомерс сделать архив товаров по категориям?

    Как в вукомерс сделать архив товаров по категориям?

  • svyatpeter0317, что непонятного в словах "исправь вопрос"?
  • Как в вукомерс сделать архив товаров по категориям?

    Чтобы в WooCommerce убрать исходную сортировку, нужно удалить хук woocommerce_catalog_ordering -

    remove_action( 'woocommerce_before_shop_loop', 'woocommerce_catalog_ordering', 30 );

    remove_action( 'woocommerce_before_shop_loop', 'woocommerce_catalog_ordering', 30 );

    Это по умолчанию. Но, в различных темах этот хук может быть уже изменён, например, в теме, которую вы используете - StoreFront. Поэтому, конкретно для этой темы нужно делать по другому, примерно так -

    add_action( 'wp', 'remove_default_sorting_storefront' ); function remove_default_sorting_storefront() {    remove_action( 'woocommerce_after_shop_loop', 'woocommerce_catalog_ordering', 10 );    remove_action( 'woocommerce_before_shop_loop', 'woocommerce_catalog_ordering', 10 ); }

    add_action( 'wp', 'remove_default_sorting_storefront' ); function remove_default_sorting_storefront() { remove_action( 'woocommerce_after_shop_loop', 'woocommerce_catalog_ordering', 10 ); remove_action( 'woocommerce_before_shop_loop', 'woocommerce_catalog_ordering', 10 ); }

    Либо просто скрываете в css:

    .woocommerce-ordering {   display: none; }

    .woocommerce-ordering { display: none; }

    Ответы:

    Группировать товары по категориям на главной странице магазина поможет https://wordpress.org/plugins/woocommerce-product-....

    Так же ничего не мешает собрать нужный вид страницы родном редакторе блоков.

    • В редакторе можно скрыть чекбоксы по какому типу оно сортирует?
    • svyatpeter0317, Скрыть - стилями (=костыль). Но это уже другой вопрос. Как и с вариациями.
    Нужно решить такую задачу?

    Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

    Заказать помощь
    Лучший ответ
    1
    Павел Админов Ответ

    В WooCommerce архив товаров по категориям лучше строить на стандартных таксономиях product_cat, а не создавать отдельные страницы под каждую категорию. Тогда сохранятся фильтры, хлебные крошки, SEO, пагинация и нормальная структура URL.

    Если нужно, чтобы на странице магазина сначала выводились категории, зайдите в настройки:

    Внешний вид → Настроить → WooCommerce → Каталог товаров и выберите отображение категорий или категорий с товарами. В новых версиях часть настроек может быть в WooCommerce → Настройки → Товары.

    Если нужен свой блок категорий в шаблоне:

    $terms = get_terms([
        'taxonomy' => 'product_cat',
        'hide_empty' => true,
        'parent' => 0,
    ]);
     
    foreach ($terms as $term) {
        echo '<a class="product-cat-card" href="' . esc_url(get_term_link($term)) . '">';
        echo esc_html($term->name);
        echo '</a>';
    }

    $terms = get_terms([ 'taxonomy' => 'product_cat', 'hide_empty' => true, 'parent' => 0, ]); foreach ($terms as $term) { echo '<a class="product-cat-card" href="' . esc_url(get_term_link($term)) . '">'; echo esc_html($term->name); echo '</a>'; }

    Для категорий вроде “шапки”, “ремни”, “аксессуары” не нужно делать вариации, если это разные типы товаров. Вариации подходят для размера, цвета, материала внутри одного товара. Категории — для навигации, атрибуты — для фильтров, вариации — для выбора опции конкретного товара.

    Если хотите убрать сортировку, счётчик и лишние элементы, делайте это хуками WooCommerce, а не скрытием всего подряд через CSS:

    remove_action('woocommerce_before_shop_loop', 'woocommerce_catalog_ordering', 30);
    remove_action('woocommerce_before_shop_loop', 'woocommerce_result_count', 20);

    remove_action('woocommerce_before_shop_loop', 'woocommerce_catalog_ordering', 30); remove_action('woocommerce_before_shop_loop', 'woocommerce_result_count', 20);

    Так архив останется технически корректным и не будет конфликтовать с обновлениями темы.

    Другие ответы (0)

    Пока нет других ответов. Будьте первым, кто поможет автору.

    Ответить на вопрос

    комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *

    Вам также может быть интересно