I ran into the same problem, and spent quite some time delving into the issue, and I came up with a workaround. I’m not familiar with how to override plugin functions in a child-theme’s funtions.php, so I edited the plugin file directly. For me, the following works:
Find and open this file: …/wp-content/plugins/woo-local-pickup/front/class-woo-local-pickup-location.php
On line 48 you’ll see this code:
add_filter('woocommerce_email_order_meta_keys', array( $this, 'woo_update_order_email' ) );
replace it with:
add_action('woocommerce_email_after_order_table', array( $this, 'woo_pickup_detail_front') );
The original function it calls outputs the id# of the location as you have have noticed. This same plugin-file also has a function that outputs the pickup location on the order confirmation page, where it loads nicely. So what I did is just replace the above function with the one written for the order confirmation page. I also replaced the hook
woocommerce_email_after_order_table because the first one failed to load the correct data as well.
Hope it helps!
This reply was modified 5 years, 2 months ago by ronald.kubo. Reason: wrong closing quote for code