woocommerce_valid_order_statuses_for_cancel

woocommerce_valid_order_statuses_for_cancel

Appears in: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
Hook Type: filter

See hook in core

Displaying hooks found in version: woocommerce.9.9.5

apply_filters('woocommerce_valid_order_statuses_for_cancel') is found 2 times:

  • /includes/class-wc-form-handler.php line 784
    			 *
    			 * @param array    $valid_statuses Array of valid order statuses for cancel.
    			 * @param WC_Order $order          Order object.
    			 */
    			$valid_statuses   = apply_filters( 'woocommerce_valid_order_statuses_for_cancel', array( OrderStatus::PENDING, OrderStatus::FAILED ), $order );
    			$user_can_cancel  = current_user_can( 'cancel_order', $order_id );
    			$order_can_cancel = $order->has_status( $valid_statuses );
    			$redirect         = isset( $_GET['redirect'] ) ? wp_unslash( $_GET['redirect'] ) : ''; // phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized
    
    			if ( $user_can_cancel && $order_can_cancel && $order->get_id() === $order_id && hash_equals( $order->get_order_key(), $order_key ) ) {
    
    
  • /includes/wc-account-functions.php line 334
    	 *
    	 * @param array    $statuses_for_cancel Array of valid order statuses for cancel action.
    	 * @param WC_Order $order                Order instance.
    	 */
    	$statuses_for_cancel = apply_filters( 'woocommerce_valid_order_statuses_for_cancel', array( OrderStatus::PENDING, OrderStatus::FAILED ), $order );
    	if ( ! in_array( $order->get_status(), $statuses_for_cancel, true ) ) {
    		unset( $actions['cancel'] );
    	}
    
    	return apply_filters( 'woocommerce_my_account_my_orders_actions', $actions, $order );
    }