Woocommerce. Вывести товары по определенному параметру последовательно
Нужно вывести товары, у которых есть фото и они в наличии, после них те, у которых только фото и не важно в наличии или нет, а в самом конце уже те, которых нет в наличии(соответсвенно, они уже будут без фото).
Я думал попробовать так:
add_action( 'woocommerce_product_query', 'custom_pre_get_posts_query' );
function custom_pre_get_posts_query( $query ) {
$query->set( 'meta_query',
array(
'relation' => 'AND',
//если в наличии
array(
'key' => '_stock_status',
'value' => 'instock',
'compare' => '='
),
//если есть фото
array(
'key' => '_thumbnail_id',
'value' => '0',
'compare' => '>'
),
)
);
}
Но это один запрос, который выводит только первое требование. Другие можно так же вывести, но только они. То есть у меня 3 запроса последовательно. А этим кодом могу вывести только один и всё (compare). А сделать один запрос за другим тоже не получается т.к. срабатывает только последний игнорируя все предыдущие.