Сортировка товаров по атрибутам

312
12 марта 2017, 08:08

Допустим при добавлении нового товара был добавлен некоторым товарам атрибут "gender". На странице категорий есть список select, в котором можно фильтровать товары по атрибутам.
Подскажите, как отфильтровать товары и вывести их, у который есть атрибут gender?
Дополню вопрос.
Использую такой код:

add_filter( 'woocommerce_get_catalog_ordering_args', 'custom_woocommerce_get_catalog_ordering_args' );
function custom_woocommerce_get_catalog_ordering_args( $args ) {
    if (isset($_POST['gender'])) {
        $args['orderby'] = 'gender';//поле по которому сортируем
        $args['order'] = 'ASC';//по возрастанию (ASC) или убыванию (DESC)
        $args['meta_key'] = 'gender';
    }
//  echo '<pre>';
//  var_export($args);
//  echo '</pre>';
    return $args;
}
/**
 *  Сохраняем атрибуты товара в виде мета данных к записи для того, чтобы использовать их в сортировке и поиске
 */
add_action( 'save_post', 'save_woocommerce_attr_to_meta' );
function save_woocommerce_attr_to_meta( $post_id ) {
    // Получаем названия атрибутов .. Для каждого элемента получаем индекс и название атрибута
    // Затем используем индекс для получения соответствующего отправленного значения из массива attribute_values.
    if (isset($_REQUEST['attribute_names'])) {
        foreach( $_REQUEST['attribute_names'] as $index => $value ) {
            update_post_meta( $post_id, $value, $_REQUEST['attribute_values'][$index] );
        }
    }
}

но ничего не сортируется

READ ALSO
Выполнить замену всех строк

Выполнить замену всех строк

ЗдравствуйтеЕсть скрипт, который находит нужные строки, после он должен найти каждую совпавшую строку в тексте, и в случае нахождения - заменить...

221
CAPTCHA или ограничение количества попыток входа? [требует правки]

CAPTCHA или ограничение количества попыток входа? [требует правки]

Зачем нужно делать ограничение количества попыток входа в аккаунт, которое дополнительно нагружает систему (пусть и слегка), если можно просто...

232
Как получить список временных зон на разных языках (PHP)?

Как получить список временных зон на разных языках (PHP)?

При регистрации пользователя хочу предложить выбор его временной зоны (часового пояса)Но при этом список временных зон показывать на родном...

260