我们正在使用woocommerce_thankyou在结帐时执行操作。但是,在一个简单的测试中,如果我设置动作并只是“回声'测试';”它发生了4次。 这是代码
class OrderController
{
public function __construct()
{
add_action('woocommerce_thankyou', array($this, 'orderSubmit'));
}
function orderSubmit()
{
global $woocommerce;
echo "test"; // happens 4 times
}
}
答案 0 :(得分:1)
我今天早些时候遇到了同样的问题。
我进入服务器文件查看器(或本地主机)并转到wp-content / plugins / woocommerce / templates / checkout
在checkout文件夹中有一个名为thankyou.php的php文件。
大约65行左右会有代码
<?php do_action( 'woocommerce_thankyou' . $order->payment_method, $order->id ); ?>
或类似的东西
我的问题是它有2个这样的行动执行。
除了一个之外摆脱所有这些,这应该可以解决你的问题。
请务必在之后测试您的woocommerce,以确保您没有删除错误的