首页 > 解决方案 > WooCommerce PDF 发票和装箱单:未使用自定义代码发送附件

问题描述

我在我的根文件夹中编写了一个脚本 (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 订单通知邮件,但不会收到附件。在插件的设置中,我也检查了在此邮件中发送附件。

标签: phpwordpresswoocommerceattachmentemail-notifications

解决方案


推荐阅读