首页 > 解决方案 > 修改woocommerce客户邮箱

问题描述

我有一个使用 woocommerce 作为购物车的网站,通常他们的客户可以选择不同类型的送货方式,其中之一是本地取货,我们需要您可以取货的地址和取货时间在客户结帐后收到的电子邮件中发送,但只有当他们选择本地取货时,才会发送这些信息以避免给客户造成混淆。

任何想法我可以在哪里修改随电子邮件发送的文本,我会附上一个屏幕截图以了解我在说什么 电子邮件截图

标签: wordpresswoocommerce

解决方案


您好,您不能通过任何电子邮件编辑来执行此操作,因为 woocommerce 电子邮件是为订单状态设置的,而不是为运输方式设置的。您可以通过将代码实现到主题的 functions.php 文件中来做到这一点。

说明:您需要在 woocommerce 电子邮件订单表之前添加操作并为此操作设置功能。在您的函数中,您将跟踪订单的运输方式,如果它与本地取货匹配,那么它会在订单表之前添加额外的文本。

不要忘记将其更改为您的自定义文本回声'<h2 class="email-upsell-title">Local pickup instructions</h2><p class="email-upsell-p">Your text goes here for the local pickup info</p>';

更新

add_action( 'woocommerce_email_before_order_table', 'localpickup_extra_info', 10, 4 );

function localpickup_extra_info( $order, $sent_to_admin, $plain_text, $email ) {
   if ( $email->id == 'customer_processing_order' ) {
   foreach( $order->get_items('shipping') as $shipping_item ){
   $shipping_rate_id = $shipping_item->get_method_id();
   $method_array = explode(':', $shipping_rate_id );
   $shipping_method_id = reset($method_array);

   if( 'local_pickup' == $shipping_method_id ){  
      echo '<h2 class="heading-title">Local pickup instructions</h2><p class="local-text">Your text goes here for the local pickup info</p>'; //change this
      break;
   }
  }
 }
}

推荐阅读