marcys, берем плагин произвольных полей, например acf, заводим произвольное поле для типа записи Продукт, например product_custom_img, которое будет изображение и тип отзаваемого контента не обьект а ссылка. Оно появится в редактировании страницы товара, там можно будет выбрать любую дополнительную картинку.
в файле functions.php пишем подобный код:
remove_action( 'woocommerce_before_shop_loop_item_title', 'woocommerce_template_loop_product_thumbnail', 10 );
add_action( 'woocommerce_before_shop_loop_item_title', 'custom_product_thumbnail', 10 );
function custom_product_thumbnail() {
global $product;
$id = $product->get_id();
$custom_image = get_field( 'product_custom_img', $id );
echo '<div class="custom-woo-img"><img src="' . $custom_image . '"></div>';
}
этот код отключает вывод стандартной картинки и выводит кастомную. Я его не тестировал, так что он вполне может не работать, хотя должен