Shortcode is print blank info

I’m using WordPress (WooCommerce) with the Eventon plugin.
I’m trying to print the event location and event date in the WordPress email template.

Here is the code that I’m using:

if ( isset($attr['type']) && $attr['type'] == 'event-date' ) {
    foreach ( $order->get_items() as $item_id => $item ) {
        $event_id = $item->get_product_id();
        $event_date = get_post_meta( $event_id, '_EventStartDate', true );

        if ( ! empty( $event_date ) ) {
            // Format event date
            $formatted_date = date_i18n( get_option( 'date_format' ) . ' ' . get_option( 'time_format' ), strtotime( $event_date ) );
            printf( __( "%s", 'wc-pre-orders' ), '<b>' . esc_html( $formatted_date ) . '</b>' );
        }
    }
}

// Event Location
if ( isset($attr['type']) && $attr['type'] == 'event-location' ) {
    foreach ( $order->get_items() as $item_id => $item ) {
        $event_id = $item->get_product_id();
        $venue_id = get_post_meta( $event_id, '_EventVenueID', true );

        if ( $venue_id ) {
            $venue_name = get_the_title( $venue_id );
            $venue_address = get_post_meta( $venue_id, '_VenueAddress', true );

            printf(
            __( "%s", 'wc-pre-orders' ),
            '<b>' . esc_html( $venue_name . ( $venue_address ? ' - ' . $venue_address : '' ) ) . '</b>'
            );
        }
    }
}

Do you have any idea why it doesn’t print the information? (event location + event date)