Print out a Drupal Commerce field only if it has a value In Drupal Commerce, you can use the following to print out a field in your node.tpl.php file:

&lt;?php print render($content['product:field_NAME']); ?&gt;


See here fore more information

But how do you print a field only if it has content?

For a normal Drupal field you would use the following:

&lt;?php if (isset ($node-&gt;field_NAME)): ?&gt;
  &lt;?php print $node-&gt;field_NAME['und'][0]['safe_value'];?&gt;
&lt;?php endif; ?&gt; 


But that doesn't work with a Drupal commerce field. 

I would appreciate if someone could offer any pointers!
Content for the referenced product fields is incorporated into the product display(node) using field_extra_fields and normally contents go into the #markup key.

You can use template_preprocess_node and use something like this:

if (!isset($variables['content']['product:field_NAME']['#markup'])) {
  unset($variables['content']['product:field_NAME']);
}


You could also try Field formatter conditions module.