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

Помогите с сортировкой товара в woocommerce

Тема в разделе "Вопросы новичков", создана пользователем PanOK13, 14 апр 2014.

  1. PanOK13

    PanOK13

    Сообщения:
    6
    Симпатии:
    0
    Баллы:
    1
    не могу реализовать сортировку товара по алфавиту или ещё лучше по свойствам товара, кучу времени потратил, но так и не решил эту проблему. Версия woocommerce 2.1.3, буду очень признателен если кто то поможет решить эту задачу
     
  2. shzk

    shzk

    Сообщения:
    4
    Симпатии:
    6
    Баллы:
    3
    • Нравится Нравится x 2
  3. PanOK13

    PanOK13

    Сообщения:
    6
    Симпатии:
    0
    Баллы:
    1
    Спасибо большое, только ничего я в этом не понимаю :( Если можно поподробней, что и куда вставить, а то сам я натворю дел :)
     
  4. shzk

    shzk

    Сообщения:
    4
    Симпатии:
    6
    Баллы:
    3
    Тут довольно просто - в коде используется 'random_list', тип сортировки для которого 'rand'
    Изменяем это на необходимые нам - например для сортировки по алфавиту стоит поставить тип сортировки 'name'

    Там же приведена ссылка на http://codex.wordpress.org/Class_Reference/WP_Query#Order_.26_Orderby_Parameters
    В котором приведены различные варианты для сортировки


    • 'ID' - Order by post id. Note the capitalization.
    • 'author' - Order by author.
    • 'title' - Order by title.
    • 'name' - Order by post name (post slug).
    • 'date' - Order by date.
    • 'modified' - Order by last modified date.
    • 'parent' - Order by post/page parent id.
    • 'rand' - Random order.
    • 'comment_count' - Order by number of comments (available with Version 2.9).
    • 'menu_order' - Order by Page Order. Used most often for Pages (Order field in the Edit Page Attributes box) and forAttachments (the integer fields in the Insert / Upload Media Gallery dialog), but could be used for any post type with distinct 'menu_order' values (they all default to 0).
    • 'meta_value' - Note that a 'meta_key=keyname' must also be present in the query. Note also that the sorting will be alphabetical which is fine for strings (i.e. words), but can be unexpected for numbers (e.g. 1, 3, 34, 4, 56, 6, etc, rather than 1, 3, 4, 6, 34, 56 as you might naturally expect). Use 'meta_value_num' instead for numeric values.
    • 'meta_value_num' - Order by numeric meta value (available with Version 2.8). Also note that a 'meta_key=keyname' must also be present in the query. This value allows for numerical sorting as noted above in 'meta_value'.
    • 'post__in' - Preserve post ID order given in the post__in array (available with Version 3.5).

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

    <?php

    add_filter( 'woocommerce_get_catalog_ordering_args', 'custom_woocommerce_get_catalog_ordering_args' );

    function custom_woocommerce_get_catalog_ordering_args( $args ) {
    $orderby_value = isset( $_GET['orderby'] ) ? woocommerce_clean( $_GET['orderby'] ) : apply_filters( 'woocommerce_default_catalog_orderby', get_option( 'woocommerce_default_catalog_orderby' ) );

    if ( 'name_list' == $orderby_value ) {
    $args['orderby'] = 'name';
    $args['order'] = 'ASC'; (или 'DESC';)
    $args['meta_key'] = '';
    }

    return $args;
    }

    add_filter( 'woocommerce_default_catalog_orderby_options', 'custom_woocommerce_catalog_orderby' );
    add_filter( 'woocommerce_catalog_orderby', 'custom_woocommerce_catalog_orderby' );

    function custom_woocommerce_catalog_orderby( $sortby ) {
    $sortby['name_list'] = 'Сортировать по имени';
    return $sortby;
    }
     
    Последнее редактирование: 14 апр 2014
    • Нравится Нравится x 3
  5. PanOK13

    PanOK13

    Сообщения:
    6
    Симпатии:
    0
    Баллы:
    1
    Спасибо большое, буду пробовать:)
     
  6. shzk

    shzk

    Сообщения:
    4
    Симпатии:
    6
    Баллы:
    3
    Надеюсь поможет )
     
    • Нравится Нравится x 1
  7. PanOK13

    PanOK13

    Сообщения:
    6
    Симпатии:
    0
    Баллы:
    1
    Всё работает, огромное спасибо (y)
     
  8. shzk

    shzk

    Сообщения:
    4
    Симпатии:
    6
    Баллы:
    3
    Пожалуйста ) рад что помог
     
  9. ant1vit

    ant1vit

    Сообщения:
    4
    Симпатии:
    0
    Баллы:
    1
    Добрый день, а как сделать сортировку по атрибутам или меткам?
    Сортировке две, "склад" и "витрина". Например метку ставить(склад или витрина) или создать два атрибута(склад , витрина)
     
  10. BASILIO

    BASILIO

    Сообщения:
    1
    Симпатии:
    0
    Баллы:
    1
    Помогите плиз! Есть задача создать сортировку товаров по диапазону цен. То есть примерно вот так: от 1500 до 2500 и таких пунктов меню сделать 3-5 при этом использовать статическую ссылку достаточно проблематично... Так как идет перезагрузка страницы и клиента выбрасывает на страницу всего магазина из какой-либо категории товара, где он находился.
    То есть задача состоит в создании ссылки, которая будет просто к месту, где находится посетитель магазина добавлять код сортировки товара, а именно вот такой: /?min_price=0&max_price=20
    Сейчас при сортировке могу задать только какой-то один вариант (статический) типа такого:
    http://www.filtervdom.kiev.ua/shop/?min_price=0&max_price=20
    а нужно, чтобы путь который прописывается до самого кода сортировки изменялся в соответствии с тем местом, где находится клиент магазина. То есть по факту нужно повторить функционал базового плагина (ползунка) wocommerce? но в виде меню.