Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/239.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在发送“新订单”之前发送电子邮件_Php_Wordpress_Email_Woocommerce - Fatal编程技术网

Php 在发送“新订单”之前发送电子邮件

Php 在发送“新订单”之前发送电子邮件,php,wordpress,email,woocommerce,Php,Wordpress,Email,Woocommerce,在我的商业订单中,用户选择一个上传到服务器的图像。现在我需要在发送新订单电子邮件之前使用ImageMagick编辑此图像,调整大小、修剪等,因为我将此图像附加到这些电子邮件中 我尝试了付款钩,但是这一个太晚了,邮件已经发送了。我也考虑过在邮件模板中这样做,但是只需要做一次,所以必须在邮件发送之前进行 当然,它应该发生在服务器上的感谢页面之后,用户不必等待此处理 编辑:钩子应该传递订单id,因为我需要访问订单项 我可以在哪里插入/钩住代码来实现这一点 谢谢大家! 新订单电子邮件会在woocomme

在我的商业订单中,用户选择一个上传到服务器的图像。现在我需要在发送新订单电子邮件之前使用ImageMagick编辑此图像,调整大小、修剪等,因为我将此图像附加到这些电子邮件中

我尝试了付款钩,但是这一个太晚了,邮件已经发送了。我也考虑过在邮件模板中这样做,但是只需要做一次,所以必须在邮件发送之前进行

当然,它应该发生在服务器上的感谢页面之后,用户不必等待此处理

编辑:钩子应该传递订单id,因为我需要访问订单项

我可以在哪里插入/钩住代码来实现这一点


谢谢大家!

新订单电子邮件会在woocommerce\u order\u status\u pending\u to\u processing\u通知和woocommerce\u order\u status\u pending\u to\u on-hold\u通知挂钩上触发运行,默认优先级为10

因此,您应该能够以较低的优先级(例如5)在相同的钩子上运行代码

否则,您可以跳过通知,只关注订单状态更改,因此以下挂钩:


woocommerce\u order\u status\u pending\u to\u processing和woocommerce\u order\u status\u pending\u to\u on-hold

新订单电子邮件会在woocommerce\u order\u status\u pending\u to\u processing\u通知和woocommerce\u order\u status\u pending\u to\u on-hold\u通知挂钩上触发运行,默认优先级为10

因此,您应该能够以较低的优先级(例如5)在相同的钩子上运行代码

否则,您可以跳过通知,只关注订单状态更改,因此以下挂钩:


woocommerce\u order\u status\u pending\u to\u processing和woocommerce\u order\u status\u pending\u to\u on-hold感谢您的回答!使用钩子,在发送电子邮件之前运行一些代码实际上是可行的,问题仍然是页面等待它完成。我想要的是,有一个感谢你的屏幕,在那里,订单已经完成,可以运行我的代码,这样用户就不必等待,但看起来电子邮件是在到达此页面之前发送的,对吗?没错,您必须等到功能完成。为了避免这种情况,您可以在上传图像后异步处理它。是的,但这会给我带来一个问题,即不确定异步任务是否在用户完成新订单时完成。看起来应该在感谢页面上启动一个异步任务,处理图像,然后触发电子邮件。谢谢你的回答!使用钩子,在发送电子邮件之前运行一些代码实际上是可行的,问题仍然是页面等待它完成。我想要的是,有一个感谢你的屏幕,在那里,订单已经完成,可以运行我的代码,这样用户就不必等待,但看起来电子邮件是在到达此页面之前发送的,对吗?没错,您必须等到功能完成。为了避免这种情况,您可以在上传图像后异步处理它。是的,但这会给我带来一个问题,即不确定异步任务是否在用户完成新订单时完成。看起来应该在“谢谢”页面上启动一个异步任务来处理图像,然后触发电子邮件。。