It didn’t work because your tax query is missing the operator which should be set to NOT IN
. So just add it like so:
'tax_query' => array(
array(
'taxonomy' => 'post_format',
'field' => 'slug',
'terms' => array( 'post-format-' . $post_format ),
'operator' => 'NOT IN',
)
),
And please, avoid using query_posts()
— use new WP_Query()
or get_posts()
instead — or hooks such as pre_get_posts
for modifying the query parameters.