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). А сделать один запрос за другим тоже не получается т.к. срабатывает только последний игнорируя все предыдущие.


Ответы (0 шт):