The term needs the slug of the term, not the human read description so “hello-world” not “Hello World”
Try using the sanitize_title
function:
http://codex.wordpress.org/Function_Reference/sanitize_title
Also, add an else case for your loop to catch the ‘no posts found’ case, etc, when you have an issue it’s a good idea to have as much information as possible.
Additionally:
'taxonomy' => 'suppliersTax',
'term' => $supplier,
can also be written as:
'suppliersTax' => $supplier,
edit: the most verbose definitive precise flexible method of writing it is this:
'tax_query' => array(
array(
'taxonomy' => 'supplier',
'field' => 'slug',
'terms' => sanitize_title($supplier)
)
)
as seen here: http://codex.wordpress.org/Class_Reference/WP_Query#Taxonomy_Parameters
Also looking at your code in your comment you use:
$homeSOTMHeader = get_posts( $args );
foreach( $homeSOTMHeader as $post ) : setup_postdata($post);
?>
// stuff
<?php endforeach;?>
<?php wp_reset_postdata(); ?>
It would be clearer to use this instead:
$q = new WP_Query($args);
if($q->have_posts()){
while($q->have_posts()){
$q->the_post();
// stuff
}
} else {
?><p>No Posts were found</p><?php // important information to have for debugging purposes
}
wp_reset_postdata();