我正在尝试编辑订单电子邮件以添加非增值税价格!
由于我还没有找到一种方法,我希望使用email-order-details.php
的方式,因为我害怕甚至在儿童主题.php
文件中做事,我试过使用我自己的代码片段来完成这项工作,function.php
:
add_action( 'woocommerce_email_after_order_table', 'add_order_email_instructions', 10, 2 );
function add_order_email_instructions( $order, $sent_to_admin ) {
$order_data = $order->get_data();
$order_total = $order_data['cart_tax'];
$order_total_tax = $order_data['total_tax'];
if ( ! $sent_to_admin ) {
echo '
<!-- TABLEAU à ajouter à la suite -->
<!-- rowspan=n dans <td …> pour prendre n colonnes et colspan=n dans <td …> pour prendre n ligne -->
<h2>Détails de votre bon de commande </h2>
<table class="td" cellspacing="0" cellpadding="6" style="width: 100%; font-family: Helvetica, Roboto, Arial, sans-serif;" border="1">
<thead>
<!-- Il y a 6 colonnes et autant de ligne que de <tr></tr> -->
</thead>
<tbody>
<!-- Ca c est la première ligne : Les <th> sont des titres -->
<tr>
<th class="td" scope="col" colspan="2" style="text-align:<?php echo esc_attr( $text_align ); ?>;">Garantie Constructeur</th>
<td class="td" scope="col" style="text-align:<?php echo esc_attr( $text_align ); ?>;">24 mois</td>
<td class="td" scope="col" style="text-align:<?php echo esc_attr( $text_align ); ?>;">Incluse</td>
</tr>
<tr>
<th class="td" scope="col" colspan="3" style="text-align:<?php echo esc_attr( $text_align ); ?>;">Livraison</th>
<td class="td" scope="col" style="text-align:<?php echo esc_attr( $text_align ); ?>;">Incluse</td>
</tr>
<tr>
<th class="td" scope="col" colspan="2" style="text-align:<?php echo esc_attr( $text_align ); ?>;">Délai de fabrication</th>
<td class="td" scope="col" style="text-align:<?php echo esc_attr( $text_align ); ?>;">3 mois max.</td>
<td class="td" scope="col" style="text-align:<?php echo esc_attr( $text_align ); ?>;"></td>
</tr>
<tr>
<th class="td" scope="col" colspan="2" style="text-align:<?php echo esc_attr( $text_align ); ?>;">Délai de livraison</th>
<td class="td" scope="col" style="text-align:<?php echo esc_attr( $text_align ); ?>;">3 semaines max.</td>
<td class="td" scope="col" style="text-align:<?php echo esc_attr( $text_align ); ?>;"></td>
</tr>
<tr>
<th class="td" scope="col" colspan="3" style="text-align:<?php echo esc_attr( $text_align ); ?>;">Sous-total H.T.</th>
<td class="td" scope="col" style="text-align:<?php echo esc_attr( $text_align ); ?>;">???</td>
</tr>
<tr>
<!-- Chaque ligne de code dans un <tr> remplit chaqune des colonnes -->
<th class="td" scope="col" colspan="2" style="text-align:<?php echo esc_attr( $text_align ); ?>;">TVA</th>
<td class="td" scope="col" style="text-align:<?php echo esc_attr( $text_align ); ?>;">20 %</td>
<td class="td" scope="col" style="text-align:<?php echo esc_attr( $text_align ); ?>;">???*0.2</td> <!-- Sur tout les produits et options.-->
</tr>
<tr>
<th class="td" scope="col" colspan="3" style="text-align:<?php echo esc_attr( $text_align ); ?>;">Total T.T.C.</th>
<td class="td" scope="col" style="text-align:<?php echo esc_attr( $text_align ); ?>;">???*1.2</td>
</tr>
<!-- -->
</tbody>
<tfoot>
<!-- -->
</tfoot>
</table>';
}
}
此代码尝试重新创建WooCommerce生成的邮件中可以看到的表格,以及我自己的海关单元格:事实上我需要带有一些自定义文本的原始文件,然后是一个没有增值税的子邮件的原始文件,然后是原始的仅增值税,然后是包含增值税的原始增值税。
在我的具体例子中,我不明白为什么在我的代码中用<?php echo wp_kses_post( $order_total_tax ); ?>
替换 ??? 不起作用。
感谢任何帮助。
答案 0 :(得分:0)
使用WC_Order
对象上的WC_Abstract_Order
getter methods尝试以下操作:
要获得总不含税,只需计算:
$get_total_excl_taxes = $order->get_total() - $order->get_total_tax();
所以在你的代码中:
add_action( 'woocommerce_email_after_order_table', 'add_order_email_instructions', 20, 2 );
function add_order_email_instructions( $order, $sent_to_admin ) {
if ( ! $sent_to_admin ) {
echo '
<!-- TABLEAU à ajouter à la suite -->
<!-- rowspan=n dans <td …> pour prendre n colonnes et colspan=n dans <td …> pour prendre n ligne -->
<h2>Détails de votre bon de commande </h2>
<table class="td" cellspacing="0" cellpadding="6" style="width: 100%; font-family: Helvetica, Roboto, Arial, sans-serif;" border="1">
<thead>
<!-- Il y a 6 colonnes et autant de ligne que de <tr></tr> -->
</thead>
<tbody>
<!-- Ca c est la première ligne : Les <th> sont des titres -->
<tr>
<th class="td" scope="col" colspan="2" style="text-align:<?php echo esc_attr( $text_align ); ?>;">Garantie Constructeur</th>
<td class="td" scope="col" style="text-align:<?php echo esc_attr( $text_align ); ?>;">24 mois</td>
<td class="td" scope="col" style="text-align:<?php echo esc_attr( $text_align ); ?>;">Incluse</td>
</tr>
<tr>
<th class="td" scope="col" colspan="3" style="text-align:<?php echo esc_attr( $text_align ); ?>;">Livraison</th>
<td class="td" scope="col" style="text-align:<?php echo esc_attr( $text_align ); ?>;">Incluse</td>
</tr>
<tr>
<th class="td" scope="col" colspan="2" style="text-align:<?php echo esc_attr( $text_align ); ?>;">Délai de fabrication</th>
<td class="td" scope="col" style="text-align:<?php echo esc_attr( $text_align ); ?>;">3 mois max.</td>
<td class="td" scope="col" style="text-align:<?php echo esc_attr( $text_align ); ?>;"></td>
</tr>
<tr>
<th class="td" scope="col" colspan="2" style="text-align:<?php echo esc_attr( $text_align ); ?>;">Délai de livraison</th>
<td class="td" scope="col" style="text-align:<?php echo esc_attr( $text_align ); ?>;">3 semaines max.</td>
<td class="td" scope="col" style="text-align:<?php echo esc_attr( $text_align ); ?>;"></td>
</tr>
<tr>
<th class="td" scope="col" colspan="3" style="text-align:<?php echo esc_attr( $text_align ); ?>;">Sous-total H.T.</th>
<td class="td" scope="col" style="text-align:<?php echo esc_attr( $text_align ); ?>;">'.wc_price($order->get_total() - $order->get_total_tax()).'</td>
</tr>
<tr>
<!-- Chaque ligne de code dans un <tr> remplit chaqune des colonnes -->
<th class="td" scope="col" colspan="2" style="text-align:<?php echo esc_attr( $text_align ); ?>;">TVA</th>
<td class="td" scope="col" style="text-align:<?php echo esc_attr( $text_align ); ?>;">20 %</td>
<td class="td" scope="col" style="text-align:<?php echo esc_attr( $text_align ); ?>;">'.wc_price($order->get_total_tax()).'</td> <!-- Sur tout les produits et options.-->
</tr>
<tr>
<th class="td" scope="col" colspan="3" style="text-align:<?php echo esc_attr( $text_align ); ?>;">Total T.T.C.</th>
<td class="td" scope="col" style="text-align:<?php echo esc_attr( $text_align ); ?>;">'.wc_price($order->get_total()).'</td>
</tr>
<!-- -->
</tbody>
<tfoot>
<!-- -->
</tfoot>
</table><br>';
}
}
代码放在活动子主题(或活动主题)的function.php文件中。经过测试和工作。