Advanced query

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);

Leave a Comment