在 WooCommerce 订单和电子邮件通知上显示自定义交货通知

时间:2021-02-01 17:22:13

标签: php wordpress woocommerce orders email-notifications

使用以下代码,我会在 WooCommerce 结帐页面上显示一条自定义消息。当客户在周六和周日下订单时,订单将在下周一交付。如果客户在周一至周五22:00后下单,则后天发货。如果客户在周一至周五 22:00 之前下订单,则会在次日发货。

function bbloomer_notice_shipping() {

 date_default_timezone_set( 'Europe/Amsterdam' );  
    
   // if SAT delivery will be MON
   if ( date( 'N' ) >= 6 ) {
      $del_day = date( "l jS F", strtotime( "next monday" ) );
      $order_by = "maandag";
   } 
    
   // if bestelling vindt plaats op MON/FRI na 22 uur delivery will be day after tomorrow
   elseif ( date( 'H' ) >= 22 ) {
      $del_day = date( "l jS F", strtotime( "tomorrow + 1day" ) );
      $order_by = "overmorgen";
   } 
    
   // if bestelling vindt plaats op MON/FRI voor 22 uur delivery will be tomorrow
   else {
      $del_day = date( "l jS F", strtotime( "tomorrow" ) );
      $order_by = "vandaag";
   }
    
    
    $chosen_shipping_method_id = WC()->session->get( 'chosen_shipping_methods' )[0];
    
    if ($chosen_shipping_method_id == 'flat_rate:1') {
        $verzend_melding = 'wordt bezorgt op '.$del_day.'';
    }
    elseif ($chosen_shipping_method_id == 'local_pickup:4') {
        $verzend_melding = 'kan worden opgehaald op '.$del_day.'';
    }
        elseif ($chosen_shipping_method_id == 'local_pickup:3') {
        $verzend_melding = 'kan worden opgehaald op '.$del_day.'';
    }
 
       echo "<tr><td colspan='2'><i>Uw bestelling $verzend_melding</i></td></tr>";  
    
}

现在,我想要做的是将此消息/通知添加到电子邮件通知和 WooCommerce 的后端订单视图中。有人能指出我正确的方向吗?

1 个答案:

答案 0 :(得分:2)

我在一个函数中修改了您的 WooCommerce 订单代码,用于在以下位置显示自定义交付消息:

  • 管理单个订单
  • 客户订单(收到的订单和订单查看)
  • 电子邮件通知

代码如下:

  <MyBtn
    {...{
      onClick: () => setBtnClicked(true),
      text: 'Document',
      ...(btnClicked ? { color: 'white', bg: 'blue.500' } : { color: 'blue.500', bg: 'white' }),
    }}
  />

代码位于活动子主题(或活动主题)的functions.php 文件中。它应该可以工作。