Get posts from category AND tag:
$new_query['tax_query'] = array(
array(
'taxonomy' => 'category',
'terms' => array('cat1'),
'field' => 'slug',
),
array(
'taxonomy' => 'post_tag',
'terms' => array('tag1'),
'field' => 'slug',
),
);
query_posts($new_query);
Get posts, which are NOT IN category:
$new_query['tax_query'] = array(
array(
'taxonomy' => 'category',
'terms' => array('cat1', 'tag1'),
'field' => 'slug',
'operator' => 'NOT IN',
),
);
query_posts($new_query);
Get posts from category OR tag:
$new_query['tax_query'] = array(
'relation' => 'OR',
array(
'taxonomy' => 'category',
'terms' => array('cat1'),
'field' => 'slug',
),
array(
'taxonomy' => 'post_tag',
'terms' => array('tag1'),
'field' => 'slug',
),
);
query_posts($new_query);
Get posts from tag OR post-format:
$new_query = wp_parse_args($query_string);
$new_query['tax_query'] = array(
'tax_query' => array(
'relation' => 'OR',
array(
'taxonomy' => 'post_tag',
'terms' => array('tag1'),
'field' => 'slug',
),
array(
'taxonomy' => 'post_format',
'terms' => array('new-post-format'),
'field' => 'slug',
),
),
) );
query_posts($new_query);