【问题标题】:WordPress debugging - added action to woocommerce_payment_complete - var_dump and plugins not workingWordPress 调试 - 向 woocommerce_payment_complete 添加了操作 - var_dump 和插件不起作用
【发布时间】:2020-06-05 22:35:41
【问题描述】:

我正在尝试在 Woocommerce 中完成购买后向股票发送 XML 邮件。

我已经阅读了有关在此thread 中向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?") 没有显示任何内容

我的问题是:我想在邮件中添加产品属性和不同的数据,这是经过大量调试和测试的事情。

我已经开始了,但是每次您想检查是否正确完成时,测试购买和检查邮件的工作流程非常可怕。

我尝试过的:

我已经测试了这个神奇的插件:Debug Toolkit 和其他一些插件,但他们都没有使用这个钩子。他们在我的 function.php 和我的网站上的其他地方完美地工作。

另外:我尝试了不同的支付解决方案,但问题是,我必须“完成购买”,所以我无法使用银行转账等支付解决方案进行调试。然后不调用该函数。所以我必须设置一个像 Bambora 这样的测试工资 - (像 Stripe 这样的丹麦插件)。众所周知,有很多重定向正在进行。或许与此有关。

我也读过die() 并在var_dump() 之后尝试了退出程序的执行,但仍然没有。

我发现你可以从this thread 导出到你的error_log - 但它真的是最好的 WordPress 吗?

如何创建一个工作流,以便以比将其导出到 error_log 更好的方式检查此自定义操作的变量和错误?

【问题讨论】:

    标签: wordpress woocommerce


    【解决方案1】:

    Woocommerce 通过 jQuery ajax 提交订单。您需要添加 die(),然后在 ajax 调用的返回中捕获结果(在提交函数中)。它可以在以下文件中找到:

    /woocommerce/assets/js/frontend/checkout.js。

    在以下行添加断点:

    return raw_response;

    要取消 woocommerce javascript 文件(用于调试目的),请将其添加到您的 wp-config 文件中:

    define( 'SCRIPT_DEBUG', true );

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-05-03
      • 2013-09-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多