У меня есть категория товаров в моем магазине Woo Commerce под названием «j-pods».
Цель состоит в том, чтобы сделать страницу, сосредоточенную вокруг «дешевых j pods».
Итак, я создалновая категория продуктов с слагом 'cheap-j-pods'.
Когда загружается "дешевый" вариант страницы, я хотел бы изменить запрос, чтобы он вытягивал все товары из оригинальных j-pods'и отфильтруйте их от самой низкой до самой высокой цены.
Насколько я понимаю, действие' woocommerce_product_query 'было способом переделать основной запрос перед его выполнением.
Обновление: Я нашел хороший способ изменить категорию продукта, которую нужно вытащить, однако часть запроса по цене не работает.
Вот мой код ...
<code>add_action( 'woocommerce_product_query', function( $q ) {
$pageCat = $q->get( 'product_cat' );
if( empty($pageCat) || $pageCat !== 'cheap-j-pods') {
return;
}
// Change product category query
$q->set( 'product_cat', 'j-pods' );
// Extract existing meta query
$meta_query = $q->get( 'meta_query' );
// Add a query to arrange products by asc price
$meta_query[] = array(
'orderby' => 'meta_value_num',
'meta_key' => '_price',
'order' => 'asc'
);
//echo '<pre style="display:block">' . print_r($meta_query, true) . '
';$ q-> set ('meta_query', $ meta_query);} 900);
Теперь продукты будут отображаться, но в порядке по умолчанию.
Почему сортировка продуктов по цене не работает в запросе?
Большое спасибо.