Search Results for 'registration'
-
AuthorSearch Results
-
August 18, 2009 at 7:19 pm #51213
In reply to: Clean professional user registration?
peterverkooijen
ParticipantBTW, how will fullname/firstname+lastname be handled in the new version? Will it be synchronized with wp_usermeta? Or will there be built-in fields in xprofile? Or another solution?
Will there be an option to make them required? Will you offer an option to autogenerate username from fullname?
Trying to decide which way to go for temporary solutions.
August 17, 2009 at 6:45 pm #51173In reply to: Details About the New Theme Architecture
John James Jacoby
KeymasterThe way this works is actually really super easy and very, very awesome…
There are a few different variations of ways to do this, and I can see some really imaginative uses of this method doing some really fantastic and super awesome things, so if you’re not already, I suggest you get excited…
I think the way that most people will use this method is with the included BuddyPress Framework theme as a jumping off point. Think of it as the HTML and bare-bones styling to get your site’s root blog and BuddyPress profile/directory pages up and running. It includes all of the normal files you would expect from a typical WordPress theme (single.php, comments.php, page.php, index.php, home.php, attachments.php, etc…) plus it includes all of the theme files for BuddyPress registration pages and components in their own respective folders similar to what bp-member did.
Currently, parent/child template relationships do NOT include the parent template’s style.css, so if you’re making a child theme, you will need to manually include the style.css of your parent theme with an @import rule, but it takes 2 seconds to type in so no big deal.
So that means that your parent/child relationship is really only for .php files until you manually @import a CSS file from another directory.
To answer your question about multiple parent themes, yes and no.
Lets say we have three themes: bp-framework, bp-default, and bp-child.
Each theme/template can only name off one parent, but that doesn’t stop the parent theme/template from having its own parent also. Example: bp-child could name bp-default as its parent, and bp-default could name bp-framework as its parent, and they will recursively overrule each other down the parent/parent/child ladder with the current template winning at the end.
This works well in situations where you might not need a home.php for your child themes. Home.php is a WordPress file for hardcoding the landing page of your blog, and maybe child themes don’t need one. In that case, move home.php into a “bp-home” folder with a style.css that makes the bp-framework its parent and includes the parent style.css, assign bp-home as the theme for your root blog, and you’re done. This way the other blog themes won’t have a home.php for no reason.
Because of this, it’s possible to have themes inherit from multiple other themes if you plan ahead in such a way that allows for this. My experience with this idea and creating my own framework is that it takes a little pre-production planning, but it pays off big time later on.
The other crazy fluke is that parent themes don’t need to be active in the Site Admin area. This means that you could have child themes active for users to select without allowing them to select the parent theme, and still have the parent theme’s files be accessible to the child. This really gives you a better way to control the themes that users have access to and how they work with your custom framework to keep your header/footer/other files in sync.
I personally can’t wait to see what some of the more popular WordPress theme guru’s are able to pull off with the next version of BuddyPress.
August 17, 2009 at 3:08 am #51134In reply to: Clean professional user registration?
peterverkooijen
ParticipantExcellent news Jeff Sayre! Any improvement in registration/signup is very welcome.
I still need to finish my site before Labor Day though…
August 17, 2009 at 1:02 am #51127In reply to: Clean professional user registration?
r-a-y
KeymasterI wouldn’t put any more time into this issue as custom registration/signup templates will be possible in v1.1.
Big thumbs up here!
August 16, 2009 at 9:15 pm #51119In reply to: Clean professional user registration?
Jeff Sayre
ParticipantI wouldn’t put any more time into this issue as custom registration/signup templates will be possible in v1.1.
August 16, 2009 at 8:08 pm #51118In reply to: Clean professional user registration?
peterverkooijen
ParticipantIn my template functions.php has this function:
function bp_show_register_page() {
global $bp, $current_blog;
require ( BP_PLUGIN_DIR . '/bp-core/bp-core-signup.php' );
if ( $bp->current_component == BP_REGISTER_SLUG && $bp->current_action == '' ) {
bp_core_signup_set_headers();
bp_core_load_template( 'register', true );
}
}
add_action( 'wp', 'bp_show_register_page', 2 );I guess I’ll just make a copy of bp-core-signup.php, modify it as needed and change the link in this function. Just redirect the whole process to custom code based on the original BP code.
Not really a hook, but that would be a way to leave the core code intact.
I’ll get back to this later this week…
August 16, 2009 at 6:58 pm #51113In reply to: Remove Create a Blog option from signup
Roger Coathup
Participant@mariusooms: thanks, we’ll probably hold off until 1.1. Incidentally, where do you get the information on 1.1 from? I’ve had a quick look, but couldn’t find anything.
@gerikg: yes, mariusooms is right about those options, there’s nothing that simply turns blogs off at registration, but allows you to create them later.
The 4th option (Only logged in users can create new blogs) implies it might be the solution. But, with that enabled, users can’t even complete a new account registration.. . has anyone else encountered that problem?
August 16, 2009 at 6:53 pm #51111In reply to: Clean professional user registration?
Roger Coathup
Participant@r-a-y: thanks for the pointer… have left Mark a comment, will see if he’s willing to ‘spill the beans’ on this one.
And giving the second part a bump: Anyone spot a hook that allows the registration form to be modified, without hacking the core code?
August 16, 2009 at 6:03 am #51093peterverkooijen
ParticipantThe ideal registration form would look like this:
– fullname
– email address
Both fields would of course be mandatory. Ideally fullname would be checked for two or more parts, but xprofile_sync_wp_profile() can handle one part input and I can live with an occassional missing last name.
I use a jQuery validation script on another form in my site, that I may also be able to use on the registration form. As far I understand it doesn’t interfere with anything on the server side.
Username would be generated behind the scenes from fullname.
Many other member information fields would be optional under edit profile.
If I can figure out how to select fullname from meta in wp_signups, adapting xprofile_sync_wp_profile() shouldn’t be that difficult.
Or are my latest attempts above still nowhere near a solution? If you see the obvious mistakes, please point them out.
August 16, 2009 at 5:25 am #51092Mariusooms
ParticipantBP1.1 will be released in September pending development speed. I’m inclined to agree with Mike Pratt. Especially if you have a deadline that close, your solution seems very elaborate even trying to use the fullname function from BP. There is no guarantee the first and last name are existing in the username, so you can’t back on that info to be in usermeta. The only way to guarantee accurate first and last name info is to have those in user registration as a mandatory field.
Bypassing the username and using email as a login option further removes you from even having remotely any user information other than the email address.
Sorry to sound a little discouraging, but I’m scratching my head as to how you are trying to achieve this? Perhaps a combination with the email plugin and two required fields for first and last name is your best option, imho.
That way you do need another plugin that needs development after you release your project and stays inline with bp updates and what not.
August 16, 2009 at 4:51 am #51091peterverkooijen
ParticipantMike Pratt, you’re right, that is one way to do it. Then you have the following fields on your registration form: username, name, first name, last name. That is an excellent solution if your aim is to annoy potential members.
Another option is to use the default “fullname” field for first name and create a second one for last name, but then you’re kinda messing with the system and perhaps causing problems in the future. I have already done this solution in an earlier version. It’s my fallback option.
But why would I have to create custom fields when WordPress already has the first_name and last_name fields in wp_usermeta? And there is even a ready-to-use Buddypress function that synchronizes the fields in wp_usermeta with the fullname in BP.
Unfortunately at the moment that function is only run when the user updates his profile, so it’s completely useless. I’m trying to tweak it and make it useful and introduce to Buddypress the wonders of a first_name, last_name in the database. (Wow, I know…)
Also I’d like to get rid of the username on the form, by autogenerating it from the fullname – make lowercase, take out spaces, store as username. That should be a relatively easy next step once I’ve figured out how to use the fullname input from the registration form in a function.
Also I wasn’t able to get bp tags working in a plugin, where I had no problem pulling first_name and last_name from wp_usermeta, providing they were available…
This should be a really easy plugin for any php coder, but as Jeff Sayre has pointed out, having a somewhat clean, professional user registration in Buddypress is reserved for those well-versed in the codebase or with deep-enough pockets.
@Mariusooms, I need to finish the site before Labor Day, with a related event on September 22nd. When will bp1.0.3 be released?
I’ll figure it out somehow, with or without the help of WordPress insiders.
August 16, 2009 at 3:39 am #51089Mariusooms
ParticipantHi Peterverkooijen, sorry you are struggling with this for a long time now. I’m not sure if you absolutely need this for bp1.0.3, but if you study the registration process of the upcoming bp, you’ll see it is much easier to manipulate registration data at a theme level.
It might be best worth your time to study the new code and wait a bit longer. Or work with trunk if you are developing.
August 16, 2009 at 3:20 am #51085In reply to: Remove Create a Blog option from signup
Mariusooms
ParticipantThis will be super easy in bp1.1 as the whole registration page is themeable, so you can easily comment out or delete that section as it is off by default.
That’ what I do as in conjunction with the groupblog plugin, as groups do can create blogs at group creation, but not at user signup.
You’ll see, bp1.1 will be so much easier to theme.
PS. Sorry if this info doesn’t help you right now
Thought I’d give you some hope for what’s to come!
August 16, 2009 at 1:47 am #51077In reply to: Clean professional user registration?
Jeff Sayre
ParticipantAs r-a-y points put, Mark Jaquith, one of the few lead developers for WordPress, was hired to build a highly-customized version of WPMU + BuddyPress for Gigaom. Mark of course is intimately aware of the intricacies of the WP codebase and I’m sure had an easier time customizing the project than would the vast majority of coders.
But, the Gigaom site does demonstrate what is possible with WPMU + BP if you are willing to become well-versed in the codebase or have deep-enough pockets to hire out professional talent.
August 16, 2009 at 12:12 am #51072In reply to: Clean professional user registration?
peterverkooijen
ParticipantRogercoathup, if I can figure out this plugin, autogenerating a username from fullname is probably a small step that can be included in the same plugin. The big question is how to take fullname from the registration input (field_1) to do stuff with in a function. I think I’m getting closer, after about four months…
Will get back to that later in the coming week.
r-a-y, I doubt GigaOm would be eager to share their trade secrets. I’m also a bit of a potential competitor to them. Shh…
August 15, 2009 at 11:55 pm #51071In reply to: Clean professional user registration?
r-a-y
Keymaster@Peter + Roger,
You might want to pick Mark’s brain as to how he created the registration system and removed the username:
http://markjaquith.wordpress.com/2009/05/28/gigaom-pro-launches-on-wordpress-and-buddypress/
August 15, 2009 at 11:40 pm #51069In reply to: Clean professional user registration?
Roger Coathup
ParticipantI’d love to get rid of the username too.
The whole registration process / form is pretty awful compared to the rest of the system. With all the form layout and options seemingly part of the core code (in bp_core_signup_signup_user).
Does anyone know how to edit the registration form without hacking core code?
Similarly any ideas how to get rid of username?
August 15, 2009 at 7:03 pm #51053arezki
ParticipantPeterverkooijen… all appreciated. Basic but brilliant. Best of luck with your issue.
August 15, 2009 at 3:40 pm #51049peterverkooijen
ParticipantThis version also doesn’t work. No errors, registration goes through as normal, but still no first_name and last_name in wp_usermeta:
function synchro_wp_usermeta($user_id, $password, $meta) {
global $bp, $wpdb;
$field_ids = $meta['xprofile_field_ids'];
$field_ids = explode( ',', $field_ids );
// Loop through each bit of profile data and save it to profile.
for ( $i = 0; $i < count($field_ids); $i++ ) {
if ( empty( $field_ids[$i] ) ) continue;
$field_value = $meta["field_{$field_ids[$i]}"];
$field = new BP_XProfile_ProfileData();
$field->user_id = $user_id;
$field->value = $field_value;
$field->field_id = $field_ids[$i];
$field->last_updated = time();
$field->save();
}
$fullname = $field_value['field_1'];
$space = strpos( $fullname, ' ' );
if ( false === $space ) {
$firstname = $fullname;
$lastname = '';
} else {
$firstname = substr( $fullname, 0, $space );
$lastname = trim( substr( $fullname, $space, strlen($fullname) ) );
}
update_usermeta( $bp->loggedin_user->id, 'nickname', $fullname );
update_usermeta( $bp->loggedin_user->id, 'first_name', $firstname );
update_usermeta( $bp->loggedin_user->id, 'last_name', $lastname );
$wpdb->query( $wpdb->prepare( "UPDATE {$wpdb->users} SET display_name = %s WHERE ID = %d", $fullname, $bp->loggedin_user->id ) );
$wpdb->query( $wpdb->prepare( "UPDATE {$wpdb->users} SET user_url = %s WHERE ID = %d", bp_core_get_user_domain( $bp->loggedin_user->id ), $bp->loggedin_user->id ) );
}
add_action( 'wpmu_activate_user', 'synchro_wp_usermeta', 10, 3);Again, any suggestions that can move this along are very much appreciated.
The problem really is how to extract the fullname data from the meta field in wp_signups. Can I do something similar to this:
xprofile_get_field_data( BP_XPROFILE_FULLNAME_FIELD_NAME, $bp->loggedin_user->id );
Is there a wp_signups_get_field_data I can tap into?
Or some type of database query?:
$wpdb->read( $wpdb->signups, array('???' => 1), array('??' => $key) );
August 15, 2009 at 3:15 pm #51048peterverkooijen
ParticipantI had a good feeling about this attempt, but still nothing in wp_usermeta:
function synchro_wp_usermeta($user_id, $password, $meta) {
global $bp, $wpdb;
$field_ids = $meta['xprofile_field_ids'];
$field_ids = explode( ',', $field_ids );
// Loop through each bit of profile data and save it to profile.
for ( $i = 0; $i < count($field_ids); $i++ ) {
if ( empty( $field_ids[$i] ) ) continue;
$field_value = $meta["field_{$field_ids[$i]}"];
}
$fullname = $field_value['field_1'];
$space = strpos( $fullname, ' ' );
if ( false === $space ) {
$firstname = $fullname;
$lastname = '';
} else {
$firstname = substr( $fullname, 0, $space );
$lastname = trim( substr( $fullname, $space, strlen($fullname) ) );
}
update_usermeta( $bp->loggedin_user->id, 'nickname', $fullname );
update_usermeta( $bp->loggedin_user->id, 'first_name', $firstname );
update_usermeta( $bp->loggedin_user->id, 'last_name', $lastname );
$wpdb->query( $wpdb->prepare( "UPDATE {$wpdb->users} SET display_name = %s WHERE ID = %d", $fullname, $bp->loggedin_user->id ) );
$wpdb->query( $wpdb->prepare( "UPDATE {$wpdb->users} SET user_url = %s WHERE ID = %d", bp_core_get_user_domain( $bp->loggedin_user->id ), $bp->loggedin_user->id ) );
}
add_action( 'wpmu_activate_user', 'synchro_wp_usermeta', 10, 3);This version messes up registration:
function synchro_wp_usermeta($user_id, $password, $meta) {
global $bp_user_signup_meta, $bp, $wpdb;
$fields = BP_XProfile_Field::get_signup_fields();
$field_ids = $meta['xprofile_field_ids'];
$field_ids = explode( ',', $field_ids );
// Loop through each bit of profile data and save it to profile.
for ( $i = 0; $i < count($field_ids); $i++ ) {
if ( empty( $field_ids[$i] ) ) continue;
$field_value = $meta["field_{$field_ids[$i]}"];
}
$fullname = $field_value['field_1'];
$space = strpos( $fullname, ' ' );
if ( false === $space ) {
$firstname = $fullname;
$lastname = '';
} else {
$firstname = substr( $fullname, 0, $space );
$lastname = trim( substr( $fullname, $space, strlen($fullname) ) );
}
update_usermeta( $bp->loggedin_user->id, 'nickname', $fullname );
update_usermeta( $bp->loggedin_user->id, 'first_name', $firstname );
update_usermeta( $bp->loggedin_user->id, 'last_name', $lastname );
$wpdb->query( $wpdb->prepare( "UPDATE {$wpdb->users} SET display_name = %s WHERE ID = %d", $fullname, $bp->loggedin_user->id ) );
$wpdb->query( $wpdb->prepare( "UPDATE {$wpdb->users} SET user_url = %s WHERE ID = %d", bp_core_get_user_domain( $bp->loggedin_user->id ), $bp->loggedin_user->id ) );
}
add_action( 'wpmu_activate_user', 'synchro_wp_usermeta', 10, 3);Registration goes through as normal. The user gets one email with the activation link. But the page on the link says ‘Your account has already been activated. You can now log in with the account details that were emailed to you.’ No email arrives.
So the above code hijacks activation without doing anything (probably because $bp_user_signup_meta was added). Still nothing in wp_usermeta either.
My problem is getting the $fullname from $meta. I don’t understand the array stuff. I’m basically just guessing.
If there are any php coders out there that can spot any obvious mistakes or can suggest other things to try, please help me out.
August 15, 2009 at 2:14 pm #51045peterverkooijen
ParticipantThanks for the additional clues DJPaul!
In the latest attempt I was going back to my first approach, trying to catch the input straight from the form, so that has to run on initial user registration, not on activation.
Or is user_register not used in Buddypress at all? Is there a wpmu or bp equivalent I could try? Should I use wpmu_create_user? According to this blog post:
the do_action for wpmu_new_user is directly at the bottom of wpmu_create_user in the wp-includes/wpmu-functions.php the wpmu_create_user gets sent the username password and email and checks if the username or email exists, if not create the new user in the database and assign a user_id to the return, also assigning capabilities and level … this happens on *all* levels of registration and is the perfect hook point to add them into the database
the do_action do_action( ‘wpmu_new_user’, $user_id ); so you get the immediate user_id soon as it’s created which you can use in your table
Apparantly this is like a flowchart of registration events in wpmu (wp-includes/wpmu-default-filters.php):
add_filter ( 'wpmu_validate_user_signup', 'signup_nonce_check' );
add_action ( 'init', 'maybe_add_existing_user_to_blog' );
add_filter ( 'xmlrpc_methods', 'attach_wpmu_xmlrpc' );
add_filter ( 'wp_authenticate_user', 'wordpressmu_authenticate_siteadmin', 10, 2 );
add_action ( 'wpmu_new_user', 'newuser_notify_siteadmin' );
add_action ( 'wpmu_activate_user', 'add_new_user_to_blog', 10, 3 );
add_action ( 'sanitize_user', 'strtolower_usernames', 10, 3 );Should I focus on these wpmu action hooks instead of regular wp hook? Does bp have a list like this somewhere?
I couldn’t figure out how to serialize that $meta data and extract the fullname from it, so I abandoned the approach hooking into wpmu_activate_user for now. Also when I put in the $user_id and $password arguments I got the error messages about missing arguments. wtf?!
I think this bit of code grabs the input from the registration form:
$fields = BP_XProfile_Field::get_signup_fields();
if ( $fields ) {
foreach ( $fields as $field ) {
$value = $_POST['field_' . $field->id];fullname is the input from field_1, but I don’t know how to finish the php to get to $fullname = … . The two latest attempts above did not work.
I have to give up for now. Deadline at my day job coming up…
August 15, 2009 at 8:13 am #51041Paul Wong-Gibbs
Keymasteradd_action( 'wpmu_activate_user', 'synchro_wp_usermeta', 10, 3);
function synchro_wp_usermeta( $user_id, $password, $meta ) { ... }
You’re also going to need to hook into the ‘wpmu_activate_blog’ action, as activate_user is not called when the user chooses to create a blog on registration.
August 15, 2009 at 2:50 am #51033peterverkooijen
ParticipantThe last attempt in the previous post does not work. No error messages, registration goes through as normal, but nothing in wp_usermeta.
This also has no effect:
function synchro_wp_usermeta() {
global $bp_user_signup_meta, $bp, $wpdb;
$fields = BP_XProfile_Field::get_signup_fields();
if ( $fields ) {
foreach ( $fields as $field ) {
$fullname = $_POST['field_1'];
}
}
$space = strpos( $fullname, ' ' );
if ( false === $space ) {
$firstname = $fullname;
$lastname = '';
} else {
$firstname = substr( $fullname, 0, $space );
$lastname = trim( substr( $fullname, $space, strlen($fullname) ) );
}
update_usermeta( $bp->loggedin_user->id, 'nickname', $fullname );
update_usermeta( $bp->loggedin_user->id, 'first_name', $firstname );
update_usermeta( $bp->loggedin_user->id, 'last_name', $lastname );
$wpdb->query( $wpdb->prepare( "UPDATE {$wpdb->users} SET display_name = %s WHERE ID = %d", $fullname, $bp->loggedin_user->id ) );
$wpdb->query( $wpdb->prepare( "UPDATE {$wpdb->users} SET user_url = %s WHERE ID = %d", bp_core_get_user_domain( $bp->loggedin_user->id ), $bp->loggedin_user->id ) );
}
add_action( 'user_register', 'synchro_wp_usermeta' );Please, I need feedback to finish this function/plugin. A real coder can spot the problem probably immediately. Please point it out, don’t leave me hanging.
August 15, 2009 at 2:15 am #51032peterverkooijen
ParticipantStuck again…
I think this is the function that takes the input from the registration form (in bp_xprofile_classes.php):
function get_signup_fields() {
global $wpdb, $bp;
$sql = $wpdb->prepare( "SELECT f.id FROM {$bp->profile->table_name_fields} AS f, {$bp->profile->table_name_groups} AS g WHERE g.name = %s AND f.parent_id = 0 AND g.id = f.group_id ORDER BY f.id", get_site_option('bp-xprofile-base-group-name') );
if ( !$temp_fields = $wpdb->get_results($sql) )
return false;
for ( $i = 0; $i < count($temp_fields); $i++ ) {
$fields[] = new BP_XProfile_Field( $temp_fields[$i]->id, null, false );
}
return $fields;
}Then bp-xprofile-signup.php has the function xprofile_load_signup_meta() with this bit:
$fields = BP_XProfile_Field::get_signup_fields();
if ( $fields ) {
foreach ( $fields as $field ) {
$value = $_POST['field_' . $field->id];Followed by lots of validation code. For my purposes I could end it here:
$fullname = $_POST['field_1'];
Trying to put it together:
function synchro_wp_usermeta() {
global $bp_user_signup_meta, $bp, $wpdb;
$fields = BP_XProfile_Field::get_signup_fields();
if ( $fields ) {
foreach ( $fields as $field ) {
$value = $_POST['field_' . $field->id];
}
}
$fullname = $value['field_1'];
$space = strpos( $fullname, ' ' );
if ( false === $space ) {
$firstname = $fullname;
$lastname = '';
} else {
$firstname = substr( $fullname, 0, $space );
$lastname = trim( substr( $fullname, $space, strlen($fullname) ) );
}
update_usermeta( $bp->loggedin_user->id, 'nickname', $fullname );
update_usermeta( $bp->loggedin_user->id, 'first_name', $firstname );
update_usermeta( $bp->loggedin_user->id, 'last_name', $lastname );
$wpdb->query( $wpdb->prepare( "UPDATE {$wpdb->users} SET display_name = %s WHERE ID = %d", $fullname, $bp->loggedin_user->id ) );
$wpdb->query( $wpdb->prepare( "UPDATE {$wpdb->users} SET user_url = %s WHERE ID = %d", bp_core_get_user_domain( $bp->loggedin_user->id ), $bp->loggedin_user->id ) );
}
add_action( 'user_register', 'synchro_wp_usermeta' );Does this make sense? Can any of the more experienced php-coders please point out the obvious mistakes?
August 14, 2009 at 11:50 pm #51031peterverkooijen
ParticipantYou’ll need to have all three arguments, even if you don’t want to use them all. You can miss out ones AFTER the one you want, but you can’t miss anything out before the one you wish to use.
Are you sure about that? With the three arguments I get two ‘Missing argument’ error messages. With only $meta there are no errors – although it doesn’t do anything either…
EDIT: Tried the code below. Again one ‘Missing argument’ error. Registration goes through as normal, but nothing in wp_usermeta:
function synchro_wp_usermeta($user_id, $meta) {
global $bp, $wpdb;
$field_ids = $meta['xprofile_field_ids'];
$field_ids = explode( ',', $field_ids );
// Loop through each bit of profile data and save it to profile.
for ( $i = 0; $i < count($field_ids); $i++ ) {
if ( empty( $field_ids[$i] ) ) continue;
$field_value = $meta["field_{$field_ids[$i]}"];
}
$fullname = $meta['field_1'];
$space = strpos( $fullname, ' ' );
if ( false === $space ) {
$firstname = $fullname;
$lastname = '';
} else {
$firstname = substr( $fullname, 0, $space );
$lastname = trim( substr( $fullname, $space, strlen($fullname) ) );
}
update_usermeta( $bp->loggedin_user->id, 'nickname', $fullname );
update_usermeta( $bp->loggedin_user->id, 'first_name', $firstname );
update_usermeta( $bp->loggedin_user->id, 'last_name', $lastname );
$wpdb->query( $wpdb->prepare( "UPDATE {$wpdb->users} SET display_name = %s WHERE ID = %d", $fullname, $bp->loggedin_user->id ) );
$wpdb->query( $wpdb->prepare( "UPDATE {$wpdb->users} SET user_url = %s WHERE ID = %d", bp_core_get_user_domain( $bp->loggedin_user->id ), $bp->loggedin_user->id ) );
}
add_action( 'wpmu_activate_user', 'synchro_wp_usermeta' ); -
AuthorSearch Results