0

I'm looking for synchronizing specific user meta field with another one.
ex: Coping user phone number to woocommerce billing phone.
So the admin can only edit one field and the other updates automaticly.
Thank you.

0

You can simply hook function to sync phone number field as following;

<?php

// HOOK ON REGISTERING NEW USER/CUSTOMER
add_action('user_register', 'mm_sync_phone_number' , 20, 1);    

// HOOK ON PERSONAL OPTIONS UPDATE
add_action('personal_options_update', 'mm_sync_phone_number' , 20, 1);

// HOOK ON USER PROFILE UPDATE    
add_action('edit_user_profile_update','mm_sync_phone_number' , 20, 1); 

function mm_sync_phone_number( $user_id ) { 

    // GET PHONE NUMBER FROM OTHER FIELD
    $phone_number = get_user_meta( $customer_id, 'meta_key_of_other_phone_field', true );

    // UPDATE PHONE NUMBER IN BILLING PHONE NUMBER FIELD
    update_user_meta( $user_id, 'billing_phone',  $phone_number ); 

}

?>

This way every time, whenever admin is going to add or update user/customer from the dashboard, the value of your phone number field will be updated in the other WooCommerce billing phone number field.

  • Thank you , It works like a charm But Can it be working from cron job to be triggered automatically every specific period? – Gamal Elwazeery Nov 24 '18 at 4:33
  • Glad to know. Can you share the reason to use cron job over here? – Mohammad Mursaleen Nov 24 '18 at 4:36
  • I'm using ACF to create some user meta field for wallet funds in every user account So by changing the meta fields in your code , I can display to the user how much he have in his account , by using cron job I can trigger that changes every month :) – Gamal Elwazeery Nov 24 '18 at 4:40
  • Then you can use wp cron for this and use the same function to trigger in scheduled event. Here is some good expalantion on how to use scheduled event functionality in wordpress – Mohammad Mursaleen Nov 24 '18 at 5:11
  • Could you please write the final code for this? – Gamal Elwazeery Nov 24 '18 at 5:17

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.