How to get user ID during registration and add it to a custom table

I am trying to get the user ID during registration and automatically add that ID to my custom table. I am using the WP-Members plugin for registration.

Is it possible to get user ID on the fly while registering and add that ID to another custom table with WP-Members plugin.

Read More

Or I could use a custom registration page if required; but I need some guidance how to get user ID on the fly during registration.

Anyone please help me…

Related posts

Leave a Reply

3 comments

  1. Please take a look at user_register hook

    This is fired when a new user is registered and conveniently passes you the user ID of the new user.

    function function_name( $user_id )
    {        
        /* do what you want to do with ID here */
    }
    add_action( 'user_register', 'function_name');
    
  2. @Brady’s answer is correct because WP-Members does use WP’s function for inserting a new user, so that action does get called. And if you want flexibility and you are only using the new user’s ID for all of it, that’s a good approach.

    But a secondary approach would be to use WP-Members’ wpmem_post_register_data action. That action passes all of the user’s registration data an array keyed by the field meta keys and it includes ID.

    add_action( 'wpmem_post_register_data', 'my_reg_hook' );
    function my_reg_hook( $fields ) {
        /* 
         * ID is available as $fields['ID']
         * Other fields are $fields['the_fields_meta_key']
         *
         * do your stuff here
         */
        return;
    }
    

    The documentation for the action has a list of fields that will be included in the array in addition to any custom fields that are in there by meta key:

    https://rocketgeek.com/plugins/wp-members/docs/filter-hooks/wpmem_post_register_data/

  3. add_action( 'user_register', 'usermeta_update');
    
    function usermeta_update( $user_id )
    
    { 
      
        add_action('woocommerce_created_customer', 'save_data', $user_id);
    
    }
    
    //save data
    function save_data($customer_id)
    
    {
    
        //First name field
        if (isset($_POST['billing_first_name'])) {
            update_user_meta($customer_id, 'first_name', sanitize_text_field($_POST['billing_first_name']));
            update_user_meta($customer_id, 'billing_first_name', sanitize_text_field($_POST['billing_first_name']));
        }
    
        //Last name field
        if (isset($_POST['billing_last_name'])) {
            update_user_meta($customer_id, 'last_name', sanitize_text_field($_POST['billing_last_name']));
            update_user_meta($customer_id, 'billing_last_name', sanitize_text_field($_POST['billing_last_name']));
        }
    }