View difference between Paste ID: Pa0LLiLh and 0cAd8BPs
SHOW: | | - or go back to the newest paste.
1
/**
2
 * Aelia EU VAT Assistant for WooCommerce - Add an order note when a valid VAT number is stored with an order.
3
 * NOTE
4-
 * This code runs every time the VAT evidence is saved against an order. It doesn't check if the order note was
4+
 * This code runs when the order meta is saved at checkout. It won't add an order note when the meta is added
5-
 * already added with the same VAT number. Using this code with the example at https://pastebin.com/Pa0LLiLh could
5+
 * to manual orders, or via code.
6-
 * result in the note being added multiple times.
6+
7
 * DISCLAIMER
8
 * Because this code is free of charge, there is no warranty for it, to the extent permitted by applicable law.
9
 * Except when otherwise stated in writing the copyright holders and/or other parties provide the program "as is"
10
 * without warranty of any kind, either expressed or implied, including, but not limited to, the implied warranties of
11
 * merchantability and fitness for a particular purpose. The entire risk as to the quality and performance of the program
12
 * is with you. should the program prove defective, you assume the cost of all necessary servicing, repair or correction.
13
 *
14
 * The code is provided as an example and it's not covered by our support service. We won't be able to offer free support
15
 * in relation to it. Should you need a consultation, or assistance to customise this code, you can contact us to avail
16
 * of our paid consultation services: https://aelia.co/hire_us
17
 */
18
add_action('woocommerce_checkout_update_order_meta', function($order_id, $posted_data) {
19-
add_filter('wc_aelia_eu_vat_assistant_store_vat_evidence',  function($vat_evidence, $order) {
19+
  $order = wc_get_order($order_id);
20
  $vat_number = $order->get_meta('vat_number');
21-
  if(!empty($vat_evidence['exemption']['vat_number']) &&
21+
22-
     !empty($vat_evidence['exemption']['vat_number_validated']) &&
22+
23-
     ($vat_evidence['exemption']['vat_number_validated'] === 'valid')) {
23+
  if(!empty($vat_number) &&
24-
    $order->add_order_note('VAT Number: ' . $vat_evidence['exemption']['vat_number']);
24+
     ($order->get_meta('_vat_number_validated') === 'valid')) {
25
    $order->add_order_note('VAT Number: ' . $vat_number);
26-
  // Return the VAT evidence as is, we don't need to modify it
26+
27-
  return $vat_evidence;
27+