我正试图在Woocommerce中完成购买时向股票发送XML邮件。
我在这个线程中读到了关于向woocommerce_payment_complete
添加操作的内容。
基本代码就在这里,并且几乎可以正常工作。
add_action( 'woocommerce_payment_complete', 'it_mail_to_dafolo' );
function it_mail_to_dafolo( $order_id ){
$to = 'some_mail@gmail.com';
$subject = 'test';
$message = '<Ordre>';
$message .= '</Ordre>';
wp_mail( $to, $subject, $message );
var_dump("Hello?");
}
但是:var_dump("Hello?")
未显示任何内容
我的问题是:我想向邮件中添加产品属性和不同的数据,这需要大量的调试和测试。
我已经开始了,但每次你想检查某件事是否正确时,测试购买并检查邮件的工作流程都很可怕。
我尝试过的:
我已经测试了令人惊叹的插件:DebugToolkit和其他一些插件,但它们都不能使用这个钩子。他们在我的function.php和我的网站上的其他地方工作得很好。
此外:我尝试过不同的支付解决方案,但问题是,我必须"完成购买",所以我无法调试银行转账等支付解决方案。则不调用该函数。所以我必须建立一个像Bambora这样的测试付费-(一个像Stripe这样的丹麦插件(。大家可能都知道,有很多重定向正在进行。也许这与此有关。
我也读过关于die()
的文章,并在var_dump()
之后尝试过退出程序的执行,但仍然一无所获。
我发现你可以从这个线程导出到你的error_log-但它真的是WordPress所能提供的最好的吗?
我如何创建一个工作流,在该工作流中,我可以检查此自定义操作的变量和错误,而不是将其导出到error_log
Wooccommerce通过jQuery ajax提交订单。您需要添加die((,然后在ajax调用的返回中捕获结果(在submit函数中(。它可以在以下文件中找到:
/wooccommerce/assets/js/frontend/checkout.js.
在以下行添加断点:
return raw_response;
要取消组合wooccommerce javascript文件(出于调试目的(,请将其添加到您的wp配置文件中:
define( 'SCRIPT_DEBUG', true );