Taxonomy.php how to show post only in current taxonomy with wp_query?

You haven’t mentioned that you’re trying to filter your taxonomy archives by meta key, but that’s whats happening in your code.

The problem is that you’re discarding the taxonomy query prepared for you ( bad! doubling the database work in the process ), and creating your own, but you never tell it which term to look for, WP_Query can’t read minds, so it looks at all artistes, because you never told it which one to look for.

Instead of doing it the way you’ve done it, instead you should use the pre_get_posts filter to modify the query arguments before the main loop query happens. This way you don’t need a second query, and no time is wasted

E.g. excluding a category:

// Load our function when hook is set
add_action( 'pre_get_posts', 'rc_modify_query_exclude_category' );

// Create a function to excplude some categories from the main query
function rc_modify_query_exclude_category( $query ) {

    // Check if on frontend and main query is modified
    if ( ! is_admin() && $query->is_main_query() && ! $query->get( 'cat' ) ) {
        $query->set( 'cat', '-5' );
    } // end if
}

Taken from remicorson.com

This way you can check if you’re on the taxonomy page by looking at the $query object, and add the meta_query amongst other things. This also simplifies your taxonomy.php back to a standard post loop and halves the amount of database work needed.