woocommerce_order_status_(to) action-hookWC 1.0.0

Fires when order status is changed.

Usage

add_action( 'woocommerce_order_status_(to)', 'wp_kama_woocommerce_order_status_to_action', 10, 3 );

/**
 * Function for `woocommerce_order_status_(to)` action-hook.
 * 
 * @param int      $id                Order ID.
 * @param WC_Order $order             Order object.
 * @param array    $status_transition Status transition data.
 *
 * @return void
 */
function wp_kama_woocommerce_order_status_to_action( $id, $order, $status_transition ){

	// action...
}
$id(int)
Order ID.
$order(WC_Order)
Order object.
$status_transition(array)

Status transition data.

  • from(string)
    Order status from.

  • to(string)
    Order status to

  • note(string)
    Order note.

  • manual(true|false)
    True if the order is manually changed.

Changelog

Since 1.0.0 Introduced.

Where the hook is called

WC_Order::status_transition()
woocommerce_order_status_(to)
woocommerce/includes/class-wc-order.php 411
do_action( 'woocommerce_order_status_' . $status_transition['to'], $this->get_id(), $this, $status_transition );

Where the hook is used in WooCommerce

woocommerce/includes/emails/class-wc-email-cancelled-order.php 42
add_action( 'woocommerce_order_status_processing_to_cancelled_notification', array( $this, 'trigger' ), 10, 2 );
woocommerce/includes/emails/class-wc-email-cancelled-order.php 43
add_action( 'woocommerce_order_status_on-hold_to_cancelled_notification', array( $this, 'trigger' ), 10, 2 );
woocommerce/includes/emails/class-wc-email-customer-completed-order.php 42
add_action( 'woocommerce_order_status_completed_notification', array( $this, 'trigger' ), 10, 2 );
woocommerce/includes/emails/class-wc-email-customer-on-hold-order.php 42
add_action( 'woocommerce_order_status_pending_to_on-hold_notification', array( $this, 'trigger' ), 10, 2 );
woocommerce/includes/emails/class-wc-email-customer-on-hold-order.php 43
add_action( 'woocommerce_order_status_failed_to_on-hold_notification', array( $this, 'trigger' ), 10, 2 );
woocommerce/includes/emails/class-wc-email-customer-on-hold-order.php 44
add_action( 'woocommerce_order_status_cancelled_to_on-hold_notification', array( $this, 'trigger' ), 10, 2 );
woocommerce/includes/emails/class-wc-email-customer-processing-order.php 43
add_action( 'woocommerce_order_status_cancelled_to_processing_notification', array( $this, 'trigger' ), 10, 2 );
woocommerce/includes/emails/class-wc-email-customer-processing-order.php 44
add_action( 'woocommerce_order_status_failed_to_processing_notification', array( $this, 'trigger' ), 10, 2 );
woocommerce/includes/emails/class-wc-email-customer-processing-order.php 45
add_action( 'woocommerce_order_status_on-hold_to_processing_notification', array( $this, 'trigger' ), 10, 2 );
woocommerce/includes/emails/class-wc-email-customer-processing-order.php 46
add_action( 'woocommerce_order_status_pending_to_processing_notification', array( $this, 'trigger' ), 10, 2 );
woocommerce/includes/emails/class-wc-email-failed-order.php 41
add_action( 'woocommerce_order_status_pending_to_failed_notification', array( $this, 'trigger' ), 10, 2 );
woocommerce/includes/emails/class-wc-email-failed-order.php 42
add_action( 'woocommerce_order_status_on-hold_to_failed_notification', array( $this, 'trigger' ), 10, 2 );
woocommerce/includes/emails/class-wc-email-new-order.php 41
add_action( 'woocommerce_order_status_pending_to_processing_notification', array( $this, 'trigger' ), 10, 2 );
woocommerce/includes/emails/class-wc-email-new-order.php 42
add_action( 'woocommerce_order_status_pending_to_completed_notification', array( $this, 'trigger' ), 10, 2 );
woocommerce/includes/emails/class-wc-email-new-order.php 43
add_action( 'woocommerce_order_status_pending_to_on-hold_notification', array( $this, 'trigger' ), 10, 2 );
woocommerce/includes/emails/class-wc-email-new-order.php 44
add_action( 'woocommerce_order_status_failed_to_processing_notification', array( $this, 'trigger' ), 10, 2 );
woocommerce/includes/emails/class-wc-email-new-order.php 45
add_action( 'woocommerce_order_status_failed_to_completed_notification', array( $this, 'trigger' ), 10, 2 );
woocommerce/includes/emails/class-wc-email-new-order.php 46
add_action( 'woocommerce_order_status_failed_to_on-hold_notification', array( $this, 'trigger' ), 10, 2 );
woocommerce/includes/emails/class-wc-email-new-order.php 47
add_action( 'woocommerce_order_status_cancelled_to_processing_notification', array( $this, 'trigger' ), 10, 2 );
woocommerce/includes/emails/class-wc-email-new-order.php 48
add_action( 'woocommerce_order_status_cancelled_to_completed_notification', array( $this, 'trigger' ), 10, 2 );
woocommerce/includes/emails/class-wc-email-new-order.php 49
add_action( 'woocommerce_order_status_cancelled_to_on-hold_notification', array( $this, 'trigger' ), 10, 2 );
woocommerce/includes/gateways/paypal/class-wc-gateway-paypal.php 111
add_action( 'woocommerce_order_status_processing', array( $this, 'capture_payment' ) );
woocommerce/includes/gateways/paypal/class-wc-gateway-paypal.php 112
add_action( 'woocommerce_order_status_completed', array( $this, 'capture_payment' ) );
woocommerce/includes/tracks/events/class-wc-orders-tracking.php 21
add_action( 'woocommerce_order_status_changed', array( $this, 'track_order_status_change' ), 10, 3 );
woocommerce/includes/wc-order-functions.php 460
add_action( 'woocommerce_order_status_completed', 'wc_downloadable_product_permissions' );
woocommerce/includes/wc-order-functions.php 461
add_action( 'woocommerce_order_status_processing', 'wc_downloadable_product_permissions' );
woocommerce/includes/wc-order-functions.php 852
add_action( 'woocommerce_order_status_refunded', 'wc_order_fully_refunded' );
woocommerce/includes/wc-order-functions.php 916
add_action( 'woocommerce_order_status_completed', 'wc_update_total_sales_counts' );
woocommerce/includes/wc-order-functions.php 917
add_action( 'woocommerce_order_status_processing', 'wc_update_total_sales_counts' );
woocommerce/includes/wc-order-functions.php 918
add_action( 'woocommerce_order_status_on-hold', 'wc_update_total_sales_counts' );
woocommerce/includes/wc-order-functions.php 919
add_action( 'woocommerce_order_status_completed_to_cancelled', 'wc_update_total_sales_counts' );
woocommerce/includes/wc-order-functions.php 920
add_action( 'woocommerce_order_status_processing_to_cancelled', 'wc_update_total_sales_counts' );
woocommerce/includes/wc-order-functions.php 921
add_action( 'woocommerce_order_status_on-hold_to_cancelled', 'wc_update_total_sales_counts' );
woocommerce/includes/wc-order-functions.php 979
add_action( 'woocommerce_order_status_pending', 'wc_update_coupon_usage_counts' );
woocommerce/includes/wc-order-functions.php 980
add_action( 'woocommerce_order_status_completed', 'wc_update_coupon_usage_counts' );
woocommerce/includes/wc-order-functions.php 981
add_action( 'woocommerce_order_status_processing', 'wc_update_coupon_usage_counts' );
woocommerce/includes/wc-order-functions.php 982
add_action( 'woocommerce_order_status_on-hold', 'wc_update_coupon_usage_counts' );
woocommerce/includes/wc-order-functions.php 983
add_action( 'woocommerce_order_status_cancelled', 'wc_update_coupon_usage_counts' );
woocommerce/includes/wc-stock-functions.php 113
add_action( 'woocommerce_order_status_completed', 'wc_maybe_reduce_stock_levels' );
woocommerce/includes/wc-stock-functions.php 114
add_action( 'woocommerce_order_status_processing', 'wc_maybe_reduce_stock_levels' );
woocommerce/includes/wc-stock-functions.php 115
add_action( 'woocommerce_order_status_on-hold', 'wc_maybe_reduce_stock_levels' );
woocommerce/includes/wc-stock-functions.php 143
add_action( 'woocommerce_order_status_cancelled', 'wc_maybe_increase_stock_levels' );
woocommerce/includes/wc-stock-functions.php 144
add_action( 'woocommerce_order_status_pending', 'wc_maybe_increase_stock_levels' );
woocommerce/includes/wc-stock-functions.php 396
add_action( 'woocommerce_order_status_cancelled', 'wc_release_stock_for_order', 11 );
woocommerce/includes/wc-stock-functions.php 397
add_action( 'woocommerce_order_status_completed', 'wc_release_stock_for_order', 11 );
woocommerce/includes/wc-stock-functions.php 398
add_action( 'woocommerce_order_status_processing', 'wc_release_stock_for_order', 11 );
woocommerce/includes/wc-stock-functions.php 399
add_action( 'woocommerce_order_status_on-hold', 'wc_release_stock_for_order', 11 );
woocommerce/includes/wc-user-functions.php 310
add_action( 'woocommerce_order_status_completed', 'wc_paying_customer' );