Skip to:
Content
Pages
Categories
Search
Top
Bottom

Re: How to run xprofile_sync_wp_profile() on registration


peterverkooijen
Participant

@peterverkooijen

This plugin attempt doesn’t break anything, but still doesn’t put first_name and last_name in wp_usermeta either:

`

<?php

/*

Plugin Name: Real Name Synchro

Plugin URI: http://

Version: v0.001

Author: peterverkooijen

Description: A plugin to store firstname and lastname from the fullname field in Buddypress registration in WPMU usermeta tables.

*/

function real_name_synchro() {

global $bp, $wpdb, $bp_user_signup_meta;

$fields = BP_XProfile_Field::get_signup_fields();

if ( $fields ) {

foreach ( $fields as $field ) {

$value = $_POST[‘field_’ . $field->id];

}

}

$field->id = ‘1’;

$fullname = $value;

$space = strpos( $fullname, ‘ ‘ );

if ( false === $space ) {

$firstname = $fullname;

$lastname = ”;

} else {

$firstname = substr( $fullname, 0, $space );

$lastname = trim( substr( $fullname, $space, strlen($fullname) ) );

}

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 ) );

}

//Actions

add_action(‘user_register’, ‘real_name_synchro’);

//Filters

?>`

Can anyone suggest fixes or am I fundamentally on the wrong track?

Skip to toolbar