WooCommerce 自定义订单操作不适用于垃圾状态

Vla*_*pov 3 php wordpress woocommerce hook-woocommerce woocommerce-theming

我想使用 woocommerce 挂钩woocommerce_order_status_changed当新的订单状态为垃圾时,我想解雇一些东西。

我使用了这个函数,它对于剩余订单状态(垃圾除外)非常有效。

这是我的代码:

function custom_order_actions ( $order_id, $old_status, $new_status ){
  $order = new WC_Order($order_id);

  if ($new_status == 'trash') {
    // Do something
  }
}
add_action( 'woocommerce_order_status_changed', 'custom_order_actions', 99, 3 );
Run Code Online (Sandbox Code Playgroud)

Ruv*_*vee 5

woocommerce_order_status_changed无法获取该状态,因为根据其 github 页面,trash它不是 woocommerce 上的注册状态之一。

但是,您可以使用wp_trash_post动作挂钩来代替!

add_action('wp_trash_post', 'custom_order_actions');

function custom_order_actions($order_id)
{

    if ('shop_order' == get_post_type($order_id)) {
        $order = new WC_Order($order_id);
        // Do something
    }
    
}
Run Code Online (Sandbox Code Playgroud)

wp_trash_post文档

请让我知道这对你有没有用!