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.8.1

apply_filters('woocommerce_valid_order_statuses_for_cancel') is found 2 times:

  • /includes/class-wc-form-handler.php line 784
    780
    781
    782
    783
    784
    785
    786
    787
    788
    789
    *
     * @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
    330
    331
    332
    333
    334
    335
    336
    337
    338
    339
    340
         *
         * @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 );
    }