Style orders details table in Woocommerce email notifications
Solution 1
This can be done Overriding the following WooCommerce Templates via a Theme:
1.Template email/email-order-details.php
- Where you will remove the block at line 38:
<th class="td" scope="col" style="text-align:<?php echo $text_align; ?>;"><?php _e( 'Price', 'woocommerce' ); ?></th>
- And here also, all this blocks at line 50 to 63 (to remove):
<tfoot>
<?php
if ( $totals = $order->get_order_item_totals() ) {
$i = 0;
foreach ( $totals as $total ) {
$i++;
?><tr>
<th class="td" scope="row" colspan="2" style="text-align:<?php echo $text_align; ?>; <?php echo ( 1 === $i ) ? 'border-top-width: 4px;' : ''; ?>"><?php echo $total['label']; ?></th>
<td class="td" style="text-align:<?php echo $text_align; ?>; <?php echo ( 1 === $i ) ? 'border-top-width: 4px;' : ''; ?>"><?php echo $total['value']; ?></td>
</tr><?php
}
}
?>
</tfoot>
2.Template emails/email-order-items.php
.
- Where you will remove this block at line 59:
<td class="td" style="text-align:<?php echo $text_align; ?>; vertical-align:middle; border: 1px solid #eee; font-family: 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif;"><?php echo $order->get_formatted_line_subtotal( $item ); ?></td>
So you will get this:
Solution 2
You have two files to copy, email-order-details.php
and email-order-items.php
.
These two files contains what you want to be removed. email-order-details.php
has the <th>
tag or the header of the table. And email-order-items.php
has the <td>
tags. Please check these files out.
Shilpi Jaiswal
Having 6 years of experience working in front-end and back-end technologies like Angular, HTML, CSS, Javascript, PHP , Jquery, Angular JS, Mysql . Exposure on various web applications as well IOS and android apps.
Updated on June 12, 2022Comments
-
Shilpi Jaiswal almost 2 years
I am using WordPress 4.8.1 and using bridge theme.
I am facing some problem regarding removing price from new order template email.
I want to remove price column ,however I removed total and subtotal , but not getting anything to remove price column with products as going through files.I have found this is coming from this code:
<?php echo wc_get_email_order_items( $order, array( 'show_sku' => $sent_to_admin, 'show_image' => false, 'image_size' => array( 32, 32 ), 'plain_text' => $plain_text, 'sent_to_admin' => $sent_to_admin, ) ); ?>
In email-order-details.php template which I have copied to my child theme from woocommerce template folder.
But , how to customise this hook 'wc_get_email_order_items' or any other way to remove price?
This is what I have now:
Any help will be appreciated as I have spent so much hours finding solution for same.