Самый простой способ - использовать 2 аргумента и использовать их по отдельности. Этот пример должен работать в зависимости от мета-значения ключа «Featured» в базе данных:
$args = array(
'post_type' => 'product',
'post_status' => 'any',
'orderby' => 'title',
'order' => 'ASC'
);
if ( ! empty( get_queried_object() ) ) {
$args['tax_query'] = array(
array(
'taxonomy' => 'product_categorie',
'field' => 'slug',
'terms' => get_queried_object()->slug
),
);
}
// Featured products args
$args1 = $args;
$args1['meta_query'] = array(
array(
'key' => 'featured',
'value' => 1, // Make sure that's 1 is the repersentation of true in db
'compare' '='
),
);
// Not freatured product args
$args2 = $args;
$args2['meta_query'] = array(
'relation' => 'OR',
array(
'key' => 'featured',
'value' => 0,
'compare' => '='
),
array(
'key' => 'featured',
'compare' 'NOT EXISTS'
),
);