I was having this problem too, where the Multi-Inventory template was overriding my WooCommerce custom template for email-order-items.php.
I used the snippet above to disable the email_order_items_template from Multi Inventory, then copied that file to my theme, renamed it email-order-items.php and customised that file. So far, it's doing what I want it to ... almost.
What I need to do next is to get the price for the inventory items in the order. I have added a column in the order table. I'm using this code in the template to output the price in a new column:
<td class="td unit-cost" style="text-align:<?php echo esc_attr( $text_align ); ?>; vertical-align:middle; font-family: 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif;">
<?php
// Get an instance of corresponding the WC_Product object
$product = $item->get_product();
$active_price = $product->get_price(); // The product active raw price
echo wp_kses_post( "$" . $inventory_price );
?>
</td>
This works to get the default WooCommerce price for that item. What I can't figure out is how to get the correct price for the product based on its inventory location since its located in a different database table. Can you provide any pointers on how to do this within this template?
Thanks
David