The default value ('no') of the setting to round taxes at subtotal was not being honored on the Edit Order screen, which resulted in off-by-one discrepancies between the checkout item total and the edited or refunded item total.
This change is to round to the proper precision (w.r.t. the 'woocommerce_tax_round_at_subtotal' setting) for the default value of the form, as well as when the values are dynamically recomputed.
* Data escaped and validated. Plus translator comment documentation added.
* If it should be int then we should change the empty string default parameter to 0 as in 'if' condition checking 0 and empty string are same.
* Extra bracket removed.
* Indentation is fixed now.
* The taxonomy object should not be assigned to a variable before checking if this is a taxonomy or not.
* echo esc_attr__ replaced by esc_attr_e and visually tested.
* As I use WordPress VIP Coding Standard, they were marking them as warnings. But now it's fixed again.
* Escaping fix
* Extra Bracket Fix Again
Reduce/increase order item stock is less important these days do to
automatic stock reduction (when status changes) and because when you
refund items you can restock items via checkbox. Manual stock changes
can be performed by editing products.
Decreases complexity of order items box.
It's a minor thing, but I have ran into circumstances where the `$item`
array doesn't have the `variation_id` set (namely after importing data
using another plugin). This tweak checks for the `variation_id` without
throwing a notice if the array key isn't defined.
If a store changes currency or is using an extension which allows for
purchasing in multiple currencies, the currency symbol displayed on the
Edit Order admin screen may be incorrect for previous orders because
it uses the `wc_price()` fallback, which is the site wide currency
rather than the currency for that specific order. This fixes that.