Rozepsání celkové ceny objednávky bez a s DPH ve WooCommerce e-mailu - Affinite.io CZ

V případě, že prodáváte zboží a jste plátci DPH, možná budete chtít, aby se v e-mailu zobrazovaly vyčíslené celkové součty bez daně a s daní. Ukážeme si, jak na to.

V předchozím článku jsme si ukazovali, jak editovat soubory šablony e-mailu, takže to si již ukazovat nebudeme a rovnou si představíme postup.

V základu vypadají součty takto:

Kód vypadá takto:

$item_totals = $order->get_order_item_totals();

if ( $item_totals ) {
	$i = 0;
	foreach ( $item_totals as $total ) {
		$i++;
		?>
		<tr>
			<th class="td" scope="row" colspan="3" style="text-align:<?php echo esc_attr( $text_align ); ?>; <?php echo ( 1 === $i ) ? 'border-top-width: 4px;' : ''; ?>"><?php echo wp_kses_post( $total['label'] ); ?></th>
			<td class="td" style="text-align:<?php echo esc_attr( $text_align ); ?>; <?php echo ( 1 === $i ) ? 'border-top-width: 4px;' : ''; ?>"><?php echo wp_kses_post( $total['value'] ); ?></td>
		</tr>
		<?php
	}
}

Z kódu je zřejmé, že položek „totals“ je více než jedna. My budeme hledat totals s key order_total. Kód upravíme následovně:

foreach ( $item_totals as  $key => $total ) {
	$i++;

	if ( 'order_total' == $key ) {

		$order_total = $order->get_total();
		$tax_totals = $order->get_tax_totals();
		$total_tax = 0;
		foreach( $tax_totals as $tax_item ) {
			$total_tax += $tax_item->amount;
		}
		$without_tax = $order_total - $total_tax;

	?>
	<tr>
		<th class="td" scope="row" colspan="3" data-key="<?php echo $key; ?>" style="text-align:<?php echo esc_attr( $text_align ); ?>; <?php echo ( 1 === $i ) ? 'border-top-width: 4px;' : ''; ?>"><?php echo wp_kses_post( 'Celkem bez DPH:', 'musilda' ); ?></th>
		<td class="td" style="text-align:<?php echo esc_attr( $text_align ); ?>; <?php echo ( 1 === $i ) ? 'border-top-width: 4px;' : ''; ?>"><?php echo wc_price( $without_tax ); ?></td>
	</tr>
	<tr>
		<th class="td" scope="row" colspan="3" data-key="<?php echo $key; ?>" style="text-align:<?php echo esc_attr( $text_align ); ?>; <?php echo ( 1 === $i ) ? 'border-top-width: 4px;' : ''; ?>"><?php echo wp_kses_post( $total['label'] ); ?></th>
		<td class="td" style="text-align:<?php echo esc_attr( $text_align ); ?>; <?php echo ( 1 === $i ) ? 'border-top-width: 4px;' : ''; ?>"><?php echo wc_price( $order_total ); ?></td>
	</tr>
	<?php
	} else {

	?>
	<tr>
		<th class="td" scope="row" colspan="3" data-key="<?php echo $key; ?>" style="text-align:<?php echo esc_attr( $text_align ); ?>; <?php echo ( 1 === $i ) ? 'border-top-width: 4px;' : ''; ?>"><?php echo wp_kses_post( $total['label'] ); ?></th>
		<td class="td" style="text-align:<?php echo esc_attr( $text_align ); ?>; <?php echo ( 1 === $i ) ? 'border-top-width: 4px;' : ''; ?>"><?php echo wp_kses_post( $total['value'] ); ?></td>
	</tr>
	<?php
	}
}

V e-mailu to vypadá následovně:

Zobrazení ceny položky objednávky s dph a bez ve WooCommerce e-mailu
Zobrazení ceny položky objednávky s dph a bez ve WooCommerce e-mailu
05 Led, 2022
Zobrazení informací o uživateli v e-mailu pro administrátora WooCommerce
Zobrazení informací o uživateli v e-mailu pro administrátora WooCommerce
07 Led, 2022

Looking for something?