我对编码非常陌生,我想在WooCommerce 3.1.1中创建一个可以在交付日期前一天发送电子邮件提醒的功能。
我正在使用插件WooCommerce Delivery Slots,并在此处获取有关投放日期的信息: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 :(得分:0)
我不确定是否理解了你的问题。
如果您的订单表中的jckwds_date
字段是交货日期,
我建议您设置一个cron(https://en.wikipedia.org/wiki/Cron)并每天运行一次。这个cron将运行一个PHP文件,其函数类似于您编写的函数,但是使用此流程:
jckwds_date
==明天的日期我希望这会有所帮助。