Php 谢谢你得到';他打了4次电话

Php 谢谢你得到';他打了4次电话,php,wordpress,woocommerce,Php,Wordpress,Woocommerce,我们正在使用woocommerce\u thankyou执行签出操作。然而,在一个简单的测试中,如果我设置了动作并只是“echo‘test’;”它会发生4次。 这是密码 class OrderController { public function __construct() { add_action('woocommerce_thankyou', array($this, 'orderSubmit')); } function or

我们正在使用woocommerce\u thankyou执行签出操作。然而,在一个简单的测试中,如果我设置了动作并只是“echo‘test’;”它会发生4次。 这是密码

class OrderController 
{ 
    public function __construct() 
    { 
        add_action('woocommerce_thankyou', array($this, 'orderSubmit')); 
    } 

    function orderSubmit() 
    { 
        global $woocommerce;
        echo "test"; // happens 4 times 
    } 
}

今天早些时候我也遇到了同样的问题

我进入服务器文件查看器(或本地主机)并进入wp-content/plugins/woocommerce/templates/checkout

在checkout文件夹中有一个名为thankyou.php的php文件

在第65行左右,会有代码显示

<?php do_action( 'woocommerce_thankyou' . $order->payment_method, $order->id ); ?>

或者类似的东西

我的问题是,它有两个这样的行动执行

除掉所有的,除了一个,这会解决你的问题


以后一定要测试你的woocommerce,确保没有删除错误的

我知道这很糟糕。但答案是它神奇地自行解决了。希望我能提供一个答案,但我相信这可能与我们的自动加载器有关。不过我不确定。这对我帮助很大!非常感谢!这救了我的命!现在我看到woocommerce\u thankyou必须包含一个\u ID,这样我就可以确定哪个插件提供了支付选项。