WooCommerce 电子邮件附件
WooCommerce Email Attachment
我创建了一个插件,可以将订单报告发送到电子邮件地址。我需要获取 CSV 文件中的订单信息,并将其作为电子邮件附件发送。到目前为止,我已经设法获取了订单信息,但我正在努力弄清楚如何在 WooCommerce 电子邮件中附加文件。
function attach_file_woocommerce_email($attachments, $id, $object)
{
if($id == 'order_information_report')
{
$upload = wp_upload_dir();
$order_csv_information = $upload['baseurl'] . '/order_information.csv';
$attachments[] = $order_csv_information;
}
return $attachments;
}
add_filter('woocommerce_email_attachments', 'attach_file_woocommerce_email', 10, 3);
我已经使用此代码挂钩附件,因此在发送 "order_information_report" 时它会添加 csv 文件。然而,这似乎行不通。我尝试注释掉 if 语句,但它仍然不起作用。
有趣的是,我在 WooCommerce 包含电子邮件文件夹内的电子邮件触发器上尝试了这个。
public function trigger($order_id) // Email Trigger
{
if(!$this->get_recipient())
{
return;
}
$this->send($this->get_recipient(), $this->get_subject(), $this->get_content(), $this->get_headers(), $this->get_attachments());
print_r($this->get_attachments());
}
print_r 似乎 return csv 文件的路径。当我在浏览器中输入该路径时,我可以下载它。关于为什么这可能无法正常工作的任何建议?
编辑
我忘了说我收到了电子邮件,但没有附件
出于某种原因,当我将路径更改为插件目录而不是上传目录时,它似乎工作正常。
function attach_file_woocommerce_email($attachments, $id, $object)
{
if($id == 'order_information_report')
{
$your_txt_path = woire_get_plugin_path() . '/test.txt';
$attachments[] = $your_txt_path;
}
return $attachments;
}
add_filter('woocommerce_email_attachments', 'attach_file_woocommerce_email', 10, 3);
我创建了一个插件,可以将订单报告发送到电子邮件地址。我需要获取 CSV 文件中的订单信息,并将其作为电子邮件附件发送。到目前为止,我已经设法获取了订单信息,但我正在努力弄清楚如何在 WooCommerce 电子邮件中附加文件。
function attach_file_woocommerce_email($attachments, $id, $object)
{
if($id == 'order_information_report')
{
$upload = wp_upload_dir();
$order_csv_information = $upload['baseurl'] . '/order_information.csv';
$attachments[] = $order_csv_information;
}
return $attachments;
}
add_filter('woocommerce_email_attachments', 'attach_file_woocommerce_email', 10, 3);
我已经使用此代码挂钩附件,因此在发送 "order_information_report" 时它会添加 csv 文件。然而,这似乎行不通。我尝试注释掉 if 语句,但它仍然不起作用。
有趣的是,我在 WooCommerce 包含电子邮件文件夹内的电子邮件触发器上尝试了这个。
public function trigger($order_id) // Email Trigger
{
if(!$this->get_recipient())
{
return;
}
$this->send($this->get_recipient(), $this->get_subject(), $this->get_content(), $this->get_headers(), $this->get_attachments());
print_r($this->get_attachments());
}
print_r 似乎 return csv 文件的路径。当我在浏览器中输入该路径时,我可以下载它。关于为什么这可能无法正常工作的任何建议?
编辑
我忘了说我收到了电子邮件,但没有附件
出于某种原因,当我将路径更改为插件目录而不是上传目录时,它似乎工作正常。
function attach_file_woocommerce_email($attachments, $id, $object)
{
if($id == 'order_information_report')
{
$your_txt_path = woire_get_plugin_path() . '/test.txt';
$attachments[] = $your_txt_path;
}
return $attachments;
}
add_filter('woocommerce_email_attachments', 'attach_file_woocommerce_email', 10, 3);