问题描述
我在我的根文件夹中编写了一个脚本 (sendmail.PHP) 来手动发送 WooCommerce 电子邮件通知。
<?PHP
require_once( $_SERVER['DOCUMENT_ROOT'] . '/wp-load.PHP' );
function dutch_strtotime($datetime) {
$days = array(
"maandag" => "Monday","dinsdag" => "Tuesday","woensdag" => "Wednesday","donderdag" => "Thursday","vrijdag" => "Friday","zaterdag" => "Saturday","zondag" => "Sunday"
);
$months = array(
"januari" => "January","februari" => "February","maart" => "march","april" => "April","mei" => "May","juni" => "June","juli" => "July","augustus" => "August","september" => "September","oktober" => "October","november" => "November","december" => "December"
);
$array = explode(" ",$datetime);
$array[0] = $days[strtolower($array[0])];
$array[2] = $months[strtolower($array[2])];
return strtotime(implode(" ",$array));
}
$today = date("d-m-Y");
echo $today;
$args = array(
'return' => 'ids','status' => 'completed','posts_per_page' => -1
);
$query = new WC_Order_Query( $args );
$orders = $query->get_orders();
foreach( $orders as $order_id ) {
$order = wc_get_order($order_id);
$afLeverdatum = $order->get_Meta('AfLeverdatum');
$afLeverdatum = str_replace(',','',$afLeverdatum);
$afLeverdatum = date("d-m-Y",dutch_strtotime($afLeverdatum));
if ($today == $afLeverdatum) {
// Get the WC_Email_New_Order object
//$email_new_order = WC()->mailer()->get_emails()['WC_Email_Customer_Completed_Order'];
//$email_new_order = WC()->mailer()->get_emails()['WC_Expedited_Order_Email'];
$email_new_order = WC()->mailer()->get_emails()['WC_Email_PDF_Order_Notification'];
//Sending the new Order email notification for an $order_id (order ID)
$email_new_order->trigger( $order_id );
}
}
?>
结合插件WooCommerce PDF Invoices & Packing Slips。
上面的脚本确实有效,并在邮件中随附了附件。
但是,如果我将 customer_completed_order
替换为 pdf_order_notification
,我会收到 pdf 订单通知邮件,但不会收到附件。在插件的设置中,我也检查了在这封邮件中发送附件。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)