Coupon column – used in orders

Coupon column – with list of orders coupon was used:

function woo_customer_coupon_column_for_orders( $columns ) {
    $new_columns = array();
    
    foreach ( $columns as $column_key => $column_label ) {
        if ( 'expiry_date' === $column_key ) {
            $new_columns['order_coupons'] = __('Orders', 'woocommerce');
        }
        
        $new_columns[$column_key] = $column_label;
    }
    return $new_columns;
}
add_filter( 'manage_edit-shop_coupon_columns', 'woo_customer_coupon_column_for_orders' );


function woo_display_customer_coupon_in_column_for_orders( $column ) {
    global $the_order, $post;
    if( $column  == 'order_coupons' ) {

        $orders_with_coupon = wh_getOrderbyCouponCode($post->post_title);
        foreach ($orders_with_coupon as $order) {

            echo '- <a href="'.get_admin_url().'/post.php?post='.$order.'&action=edit"><small><em>#' . $order . '</em></small></a>';
            echo '<br/>';
        }
    }
}
add_action( 'manage_shop_coupon_posts_custom_column' , 'woo_display_customer_coupon_in_column_for_orders' );



function wh_getOrderbyCouponCode($coupon_code) {
    global $wpdb;
    $return_array = [];

    $query = "SELECT
        p.ID AS order_id
        FROM
        {$wpdb->prefix}posts AS p
        INNER JOIN {$wpdb->prefix}woocommerce_order_items AS woi ON p.ID = woi.order_id
        WHERE
        p.post_type = 'shop_order' AND
        p.post_status IN ('" . implode("','", array_keys(wc_get_order_statuses())) . "') AND
        woi.order_item_type = 'coupon' AND
        woi.order_item_name = '" . $coupon_code . "';";

    $orders = $wpdb->get_results($query);

    if (!empty($orders)) {
        $dp = ( isset($filter['dp']) ? intval($filter['dp']) : 2 );
        //looping throught all the order_id
        foreach ($orders as $key => $order) {
            $order_id = $order->order_id;
            $return_array[$key] = $order_id;
        }

    }
    return $return_array;
}