The Support Forums will be in read-only mode for a scheduled maintenance window on 01 September 2016 14:00 UTC - 20:00 UTC. More information.

Copy xprofile field data to usermeta -Success ! but one little php tweak needed (1 post)

  1. valuser
    Posted 3 years ago #

    Found this code that copies (on registration) profile field data to usermeta fields at http://buddypress.org/community/groups/how-to-and-troubleshooting/forum/topic/xprofile-vs-usermeta-syncing-problems/

    function synchro_wp_usermeta($user_id, $password, $meta) {
    	global $bp, $wpdb;
    	$uid = get_userdata($user_id);
    	$email = $uid->user_email;
    	$fullname = $meta[field_1]; 
    ... whatever you need here ....
    	update_usermeta( $user_id, 'nickname', $fullname );
    	update_usermeta( $user_id, 'first_name', $firstname );
    	update_usermeta( $user_id, 'last_name', $lastname );
    $wpdb->query( $wpdb->prepare( "UPDATE {$wpdb->users} SET display_name = %s WHERE ID = %d", $fullname, $user_id ) );
    $wpdb->query( $wpdb->prepare( "UPDATE {$wpdb->users} SET user_url = %s WHERE ID = %d", bp_core_get_user_domain( $user_id ), $user_id ) );
    add_action( 'wpmu_activate_user', 'synchro_wp_usermeta', 10, 3);
    I have tested it and it works.

    In the line above
    $fullname = $meta[field_1];

    field_1 refers to the id number of the field in wp_XX_bp_xprofile_fields (where XX is the site id number).

    I want to use the field name here, not the number.

    what do I change $fullname = $meta[field_1]; to use the field name ? Please.

Topic Closed

This topic has been closed to new replies.

About this Topic