2017-10-11 39 views
0

我对编码非常陌生,我想提供一个功能,可以在WooCommerce 3.1.1的完成订单交货日期前一天发送电子邮件提醒。发货日期前一天发送提醒

我使用这个插件WooCommerce输送缝隙,得到了约交货日期这里的信息:http://docs.iconicwp.com/article/53-get-the-delivery-date-for-an-order

我不知道如何着手制作此功能工作。

add_action("init", "send_reminder_note"); 

function send_reminder_note($order_id) { 
$order = wc_get_order($order_id); 

foreach ($order_id as $id) { 

    //Get all order data 
    $order_data = $order->get_data(); // The Order data 
    $order_id = $order_data['id']; 
    $order_parent_id = $order_data['parent_id']; 
    $order_status = $order_data['status']; 
    $order_billing_email = $order_data['billing']['email']; 

    //Get one day before delivery date 
    $date = get_post_meta($order_id, 'jckwds_date', true); // delivery date 
    $date_temp = get_post_meta($order_id, 'jckwds_date', true); 
    $date = date("Ymd", strtotime("-1 days")); 

    //Send emils if orders is completed and one day before delivery date 
    if($order_status == 'completed') { 
     if($date_temp >= $date){ 
      $to = $order_billing_email; 
      $subject = 'Reminder your package will be sent tomorrow'; 
      $body = 'your order will be sent tommorow'; 
      $headers = array('Content-Type: text/html; charset=UTF-8'); 

      wp_mail($to, $subject, $body, $headers); 

     } 
    } 

} 
} 

回答

0

我不确定是否理解你的问题。 鉴于您的订单中的jckwds_date字段表是交货日期,因此我建议您设置一个cron(https://en.wikipedia.org/wiki/Cron)并且每天运行一次。这cron将会运行类似于你写的一个,但与此流功能的PHP文件:

  • 查询数据库所在jckwds_date明天
  • 每个订单的==日期发送确认邮件

我希望这有助于。

+0

嗨,我正在使用“WooCommerce交付插槽”,并得到了jckwds_date:[http://docs.iconicwp.com/article/53-get-the-delivery-date-for-an-order] (http://docs.iconicwp.com/article/53-get-the-delivery-date-for-an-order) – DynaSona