
Как убрать сортировку в Woocommerce и поле «Количество товаров»
Продолжаю работу над созданием интернет-магазина на WordPress, используя плагин woocommerce.
В этой статье я расскажу, как убрать сортировку в Woocommerce и поле «Количество товаров».
Убираем сортировку в Woocommerce
Имеем на сайте сортировку товаров в виде выпадающего списка, где можно отсортировать товары по популярности, рейтингу, новизне, цене по возрастанию или цене по убыванию.
Если вам нужно убрать сортировку товара, то это можно сделать быстро через CSS.
Откройте файл «style.css» вашей темы и вставьте вот такой код:
.woocommerce-ordering{ display: none; }
Сортировка товаров полностью исчезнет с сайта.
Можно удалить сортировку товаров и другим способом, но способ не очень эффективный, так как после обновления плагина «woocommerce» код может вернуться. Нужно либо отключить обновления плагинов, либо просто не обновлять. Итак, заходим по пути к файлу «orderby.php»:
/wp-content/plugins/woocommerce/templates/loop/orderby.php
И в файле «orderby.php» удалите форму:
<form class="woocommerce-ordering" method="get"> <select name="orderby" class="orderby"> <?php foreach ( $catalog_orderby_options as $id => $name ) : ?> <option value="<?php echo esc_attr( $id ); ?>" <?php selected( $orderby, $id ); ?>><?php echo esc_html( $name ); ?></option> <?php endforeach; ?> </select> <?php // Keep query string vars intact foreach ( $_GET as $key => $val ) { if ( 'orderby' === $key || 'submit' === $key ) { continue; } if ( is_array( $val ) ) { foreach( $val as $innerVal ) { echo '<input ENGINE="hidden" name="' . esc_attr( $key ) . '[]" value="' . esc_attr( $innerVal ) . '" />'; } } else { echo '<input type="hidden" name="' . esc_attr( $key ) . '" value="' . esc_attr( $val ) . '" />'; } } ?> </form>
Если вам нужно из сортировки товаров удалить только выпадающие пункты, например, отсортировать товары по популярности, рейтингу, новизне, цене по возрастанию или цене по убыванию, то в файле «functions.php» вашей темы вставьте вот такой код:
function custom_woocommerce_catalog_orderby( $orderby ) { unset($orderby["popularity"]); // по популярности unset($orderby["rating"]); // по рейтингу unset($orderby["date"]); по новизне или по дате unset($orderby["price"]); //по цене возврастания unset($orderby["price-desc"]); // по цене убывания return $orderby; } add_filter( "woocommerce_catalog_orderby", "custom_woocommerce_catalog_orderby", 20 );
Если вставите этот код в файле «functions.php», то пропадет весь выпадающий список. Если вам нужно что-то оставить из списка, например, сортировку по рейтингу, то в коде можете закомментировать строку, так как у меня в примере (строка №3):
function custom_woocommerce_catalog_orderby( $orderby ) { unset($orderby["popularity"]); // по популярности //unset($orderby["rating"]); // по рейтингу unset($orderby["date"]); по новизне или по дате unset($orderby["price"]); //по цене возврастания unset($orderby["price-desc"]); // по цене убывания return $orderby; } add_filter( "woocommerce_catalog_orderby", "custom_woocommerce_catalog_orderby", 20 );
В коде есть подсказки, так что проблем со списком быть не должно.
Убираем «Количество товаров»
Выглядит пункт «Количество товаров» на сайте вот таким вот образом:
Если вам нужно убрать пункт «Количество товаров», то это можно сделать через CSS.
Откройте файл «style.css» вашей темы и вставьте вот такой код:
.woocommerce-result-count { display: none; }
Пункт «Количество товаров» исчезнет. Фух, вроде все сказал.
Понравился пост? Помоги другим узнать об этой статье, кликни на кнопку социальных сетей ↓↓↓
Последние новости категории:
Похожие статьи
Популярные статьи:
-
Как узнать id компьютера
Дата: 29 марта 2013
Прокомментировано:90
просмотров: 330340 -
Размеры форматов листов А0 – А7
Дата: 23 января 2013
Прокомментировано:3
просмотров: 274700 -
Смешные логические загадки с подвохом, отгадки прилагаются
Дата: 12 ноября 2014
Прокомментировано:5
просмотров: 222515 -
Готовые макеты блоков для веб-страниц на HTML и CSS
Дата: 25 июня 2014
Прокомментировано:23
просмотров: 187676 -
Установка windows 7 на ноутбук
Дата: 18 декабря 2012
Прокомментировано:169
просмотров: 186563
13 Ответов на комментарий - Как убрать сортировку в Woocommerce и поле «Количество товаров»
Добавить комментарий
Метки: wordpress, без плагинов
А как с помощью CSS оставить сортировку только вверху страницы или только внизу? Сразу в 2-х местах она ни к чему.
Ирина, дайте адрес, гляну, а то не сильно понял Вас.
Добрый день. К сожалению Ваш метод как убрать поле кол-во товаров не подошел. Есть еще варианты?
Здравствуйте, Мария!
Что-то значит Вы не так делаете. У меня ведь работает.
Расскажите, что Вы сделали и как сделали поэтапно.
Важное уточнение стоит сделать. Чтобы увидеть результат ваших действий, после всех операций удалите кеш браузера. А так, спасибо, хороший способ избавиться от проблем- display: none;
Упссс! Точно, не уточнил. Можно обновить страницу сайта с очисткой кэша c помощью клавиш CTRL+R
Подскажите пожалуйста, как в сортировке поставить первое меню – ПО НОВИЗНЕ продукта. И в каком файле найти этот код. Спасибо.
Здравствуйте, Светлана!
Попробуйте открыть файл “wc-template-functions.php” (\wp-content\plugins\woocommerce\includes\wc-template-functions.php) и найдите вот такой код (строка 830):
замените его на вот это:
Сохраните и смотрите на результат.
Вот только после обновления плагина нужно будет сделать повторную процедуру или же, сделайте все это по вот такому принципу, как я написал в этой статье:
https://bloggood.ru/wordpress/spisok-fajlov-shablonov-dlya-woocommerce.html/
Здравствуйте! Подскажите, пожалуйста, а можно на странице товаров убрать слово “магазин”?
Здравствуйте, Наталья! Все можно! Было бы замечательно, если дадите адрес на сайт.
Доброго времени суток
Подскажите плиз,после того как убрала сортировку и количество – товары соответсвенно поднялись наверх и встали почти вплотную к меню.
Где бы прописать чтобы опустить чуть-чуть?
Здравствуйте!
Прописать нужно маленький код в style.css вашей темы.
Мне бы глянуть на сайт, так бы сказал, что именно нужно прописать.
Здравствуйте. У меня такой вопрос: как убрать дату и автора со страниц товаров?
Буду очень благодарна, если вы мне поможете.