woocommerce_template_loop_product_thumbnail
is pluggable so you can override it with your own code. Any time you see a function anywhere in a WordPress setting that looks like this:
if ( ! function_exists( 'woocommerce_template_loop_product_thumbnail' ) ) {
/**
* Get the product thumbnail for the loop.
*
* @access public
* @subpackage Loop
* @return void
*/
function woocommerce_template_loop_product_thumbnail() {
echo woocommerce_get_product_thumbnail();
}
}
the if ( ! function_exists('something' ) )
check indicates a pluggable function that you can override by creating a function of the same name in you theme or child theme.
Woo’s function essentially shows the thumbnail if it exists and the placeholder if it does not, so you’d just need to eliminate that part in your own version, like so:
function woocommerce_template_loop_product_thumbnail() {
global $post;
if ( has_post_thumbnail() )
echo get_the_post_thumbnail( $post->ID, 'shop_catalog' );
}