BloGGood.ru

Блог Костаневича Степана

До Нового Года осталось:

Блог на разные темы, seo-оптимизация, раскрутка сайта, создание сайта, вкусные эффекты для сайта и многое другое…

Главная » Wordpress » Как убрать сортировку в Woocommerce и поле «Количество товаров»

Как убрать сортировку в Woocommerce и поле «Количество товаров»

2016-09-14 / Вр:10:45 / просмотров: 4873

Как убрать сортировку в Woocommerce и поле «Количество товаров»

Как убрать сортировку в Woocommerce и поле «Количество товаров»

Продолжаю работу над созданием интернет-магазина на WordPress, используя плагин woocommerce.
В этой статье я расскажу, как убрать сортировку в 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 type="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 );

В коде есть подсказки, так что проблем со списком быть не должно.

Убираем «Количество товаров»

Выглядит пункт «Количество товаров» на сайте вот таким вот образом:

Как убрать сортировку в Woocommerce и поле «Количество товаров»

Если вам нужно убрать пункт «Количество товаров», то это можно сделать через CSS.
Откройте файл «style.css» вашей темы и вставьте вот такой код:

.woocommerce-result-count {
display: none;
}

Пункт «Количество товаров» исчезнет. Фух, вроде все сказал.

Понравился пост? Помоги другим узнать об этой статье, кликни на кнопку социальных сетей ↓↓↓

Получай обновления блога!!! Подпишись:

Популярные статьи:

8 Ответов на комментарий - Как убрать сортировку в Woocommerce и поле «Количество товаров»

  1. Ирина

    А как с помощью CSS оставить сортировку только вверху страницы или только внизу? Сразу в 2-х местах она ни к чему.

    Ответить

    Степан => автор блога

    Степан => автор блога отвечает:

    Ирина, дайте адрес, гляну, а то не сильно понял Вас.

    Ответить

  2. Мария

    Добрый день. К сожалению Ваш метод как убрать поле кол-во товаров не подошел. Есть еще варианты?

    Ответить

    Степан => автор блога

    Степан => автор блога отвечает:

    Здравствуйте, Мария!
    Что-то значит Вы не так делаете. У меня ведь работает.
    Расскажите, что Вы сделали и как сделали поэтапно.

    Ответить

  3. Илья

    Важное уточнение стоит сделать. Чтобы увидеть результат ваших действий, после всех операций удалите кеш браузера. А так, спасибо, хороший способ избавиться от проблем- display: none;

    Ответить

    Степан => автор блога

    Степан => автор блога отвечает:

    Упссс! Точно, не уточнил. Можно обновить страницу сайта с очисткой кэша c помощью клавиш CTRL+R

    Ответить

  4. Светлана

    Подскажите пожалуйста, как в сортировке поставить первое меню – ПО НОВИЗНЕ продукта. И в каком файле найти этот код. Спасибо.

    Ответить

    Степан => автор блога

    Степан => автор блога отвечает:

    Здравствуйте, Светлана!
    Попробуйте открыть файл “wc-template-functions.php” (\wp-content\plugins\woocommerce\includes\wc-template-functions.php) и найдите вот такой код (строка 830):

    $catalog_orderby_options = apply_filters( 'woocommerce_catalog_orderby', array(
    			'menu_order' => __( 'Default sorting', 'woocommerce' ),
    			'popularity' => __( 'Sort by popularity', 'woocommerce' ),
    			'rating'     => __( 'Sort by average rating', 'woocommerce' ),
    			'date'       => __( 'Sort by newness', 'woocommerce' ),
    			'price'      => __( 'Sort by price: low to high', 'woocommerce' ),
    			'price-desc' => __( 'Sort by price: high to low', 'woocommerce' ),
    		) );
    

    замените его на вот это:

    $catalog_orderby_options = apply_filters( 'woocommerce_catalog_orderby', array(
                            'date'       => __( 'Sort by newness', 'woocommerce' ),
    			'menu_order' => __( 'Default sorting', 'woocommerce' ),
    			'popularity' => __( 'Sort by popularity', 'woocommerce' ),
    			'rating'     => __( 'Sort by average rating', 'woocommerce' ),
    			'price'      => __( 'Sort by price: low to high', 'woocommerce' ),
    			'price-desc' => __( 'Sort by price: high to low', 'woocommerce' ),
    		) );
    

    Сохраните и смотрите на результат.
    Вот только после обновления плагина нужно будет сделать повторную процедуру или же, сделайте все это по вот такому принципу, как я написал в этой статье:
    http://bloggood.ru/wordpress/spisok-fajlov-shablonov-dlya-woocommerce.html/

    Ответить

Добавить комментарий

;-) :| :x :twisted: :smokes: :smile: :shock: :sad: :rose: :roll: :razz: :pop-corne: :oops: :o :mrgreen: :lol: :idea: :grin: :gazeta: :evil: :cry: :cool: :coffe: :arrow: :???: :?: :!:

Чтобы добавить в комментарий код HTML, PHP, CSS, JavaScript, нужно сделать так: [code] ваш код [/code]

Subscribe without commenting

Метки: ,

Мои цели на 2017 год:

1). Закончить тему «Bootstrap»

2). Закончить тему «Все про PHP и MySQL»

3). Довести количество статей до 750

4). Создать портфолио и мини интернет-магазин шаблонов

5). Создать книгу

6). Довести количество статей до 800

7). Добиться посещаемости 3000 человек/сутки

8). Увеличить число подписчиков до 250

Статистика по блогу

Количество записей на блоге: 761
Количество страниц на блоге: 20
Количество рубрик на блоге: 27
Количество меток на блоге: 71
Количество комментариев на блоге: 4183