首页 > 解决方案 > 无法执行 woocommerce_order_status_completed 挂钩

问题描述

下订单时WordPresswoocommerce_order_status_completed挂钩未执行。我在functions.php文件中添加了以下代码以console.log订购 id:

add_action('woocommerce_order_status_completed', 'console_to_order_items_on_competed_status', 10, 1);
function console_to_order_items_on_competed_status( $order_id ){
?>
<script type="text/javascript">
    console.log('order id: "<?php echo $order_id ?>"');
</script>
<?php
}

上面的代码没有执行。我还尝试添加do_action如下:

do_action('woocommerce_order_status_completed', 'console_to_order_items_on_competed_status')

但一点运气都没有。请帮我解决这个问题。提前致谢。

标签: wordpresswoocommerce

解决方案


如果你想在订单上执行功能你可以使用这个钩子:

    add_action( 'woocommerce_new_order', 'your_order_details',  1, 1  );
    function your_order_details($order_id){ ?>

        <script type="text/javascript">
            console.log('order id: "<?php echo $order_id ?>"');
         </script>
    <?php }

请记住不要在这些方法中放置任何 $woocommerce->cart->empty_cart() 语句,因为它会删除购物车中的项目并使其他结帐方法无法继续进行。

试试看,如果您有任何疑问,请告诉我。


推荐阅读