Я хочу заменить порядок WooCommerce на аспект сортировки FacetWP. Для этого я использую выходной хук facetwp_sort_options
: https://facetwp.com/documentation/developers/output/facetwp_sort_options/
Я уже заменил раскрывающийся список заказов, но параметры заказа WooCommerce отсутствуют.
На данный момент мне удалось только добавить порядок по цене:
add_filter( 'facetwp_sort_options', function( $options, $params ) {
$options['price_asc'] = array(
'label' => 'Price: low to high',
'query_args' => array(
'meta_key' => '_price',
'orderby' => 'meta_value_num',
'order' => 'ASC'
)
);
$options['price_desc'] = array(
'label' => 'Price: high to low',
'query_args' => array(
'meta_key' => '_price',
'orderby' => 'meta_value_num',
'order' => 'DESC'
)
);
return $options;
Этот ответ помог: https://stackoverflow.com/a/46715264/1788961
Но как я могу добавить остальные параметры заказа WooCommerce. Есть ли какой-нибудь список метаполей, которые я мог бы использовать?
Мне нужно добавить следующие параметры заказа:
- порядок по умолчанию
- Сортировать по популярности
- Сортировать по среднему рейтингу
Редактировать: удалена опция продажи товаров (сама разобралась)
_price
или_regular_price
— это ценовые поля.SELECT * FROM {yourprefix}_postmeta WHERE meta_key LIKE '%price%'
- person Howard E   schedule 07.03.2020sale_price
также является метаполем. Или я ошибаюсь? Проблема в том, что фильтр сортирует поsale_price
(показывает их первыми), но в конце также показывает товары с обычными ценами. Я просто хочу показать товары со скидкой. - person Cray   schedule 07.03.2020_sale_price, _regular_price, _price
- person Howard E   schedule 07.03.2020_sale_price
. Он всегда показывает продукты без цены продажи. есть ли возможность проверить это в мета-запросе? - person Cray   schedule 07.03.2020'value' => '', 'compare' => '!='
в метазапросarray
. - person Cray   schedule 07.03.2020