Wordpress. meta_query - сортировка значений
Пытаюсь сделать сортировку по товарам, у которых нет фото. Если фото есть - они выводятся первее, чем те, у которых нет фото - они все в конце. Не понимаю, что я пишу не так
add_action( 'woocommerce_product_query', 'custom_pre_get_posts_query' );
function custom_pre_get_posts_query( $query ) {
//ошибка
$query->set(
'meta_query' => array(
array(
'relation' => 'AND',
array(
'key' => '_thumbnail_id',
'value' => '0',
'compare' => '>'
),
array(
'key' => '_thumbnail_id',
'value' => '0',
'compare' => '='
)
),
)
);
//или так, всё равно ошибка
$query = new WP_Query( array(
'meta_query' => array(
array(
'relation' => 'OR',
array(
'key' => '_thumbnail_id',
'value' => '0',
'compare' => '>'
),
array(
'key' => '_thumbnail_id',
'value' => '0',
'compare' => '='
)
),
)
'orderby' => 'value',
);
}
Ошибка: На сайте возникла критическая ошибка.
UPDATE
С выводом нужных постов разобрался
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' => 'LIKE'
),
//если есть фото
array(
'key' => '_thumbnail_id',
'value' => '0',
'compare' => '>'
),
)
);
}
А вот как вставить те товары, которые не в наличии и у которых нет фото в конце цикла - не понятно. Они просто не выводятся