A popularly used feature in WooCommerce is the ability to access "hooks" to capture and display custom fields on the plugin's built-in pages. In fact, if you research how to do this on the web, you'll find source code examples similar to the following block all over the internet.
During the recent migration of the American RX website to a new server, the former developer provided this code block to be added to the new theme's functions.php file. American Rx is an Alabama-based compounding pharmacy that gained national recognition for topical pain creams used in the pain management of osteoarthritis, rheumatoid arthritis, degenerative joint conditions, fibromyalgia, tendonitis, neuropathy, and radiculopathy. In 2013 it launched a new division focused on the manufacture and distribution of hormone pellets, an increasingly popular treatment for hormone replacement therapy. A mandatory business requirement is to capture and display a customer's DEA number on each order. A DEA number is a number assigned to a health care provider (such as a medical practitioner, dentist, or veterinarian) by the U.S. Drug Enforcement Administration allowing them to write prescriptions for controlled substances.
The above code worked fine on the old website, but when ported to the new site, it does not work. The dea number is correctly captured in both the WordPress user_meta and post_meta tables. It just doesn't display on the order form. The difference between the two sites is that the old site uses WooCommerce 2.0 and the new site uses WooCommerce 2.1+.
WooCommerce 2.1+
In February 2014, WooThemes released WooCommerce 2.1, the Peppy Penguin. This release is a major rewrite of core functionality. As welcome and good as this release is, the documentation seems to be a little lacking. As I researched the issue of the non-displaying DEA number, I continually saw examples of the above code, which doesn't work any long. The same code above is even listed in source code repository owned by one of the WooCommerce developers. After reading through many posts, I finally came across this one on WordPress.org: https://wordpress.org/support/topic/custom-order-fields-changed-in-woocommerce-21. As a result, I changed the following section in the above code to that which is displayed below and can confirm that it absolutely works in WooCommerce 2.1+.
It’s possible to put a upload file field on admin order?
I don’t know what you mean by admin order.