Skip to content

Instantly share code, notes, and snippets.

@KaineLabs
Last active April 27, 2023 02:00
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save KaineLabs/3ec3d83e715ab30b0ad4e2d13bc33776 to your computer and use it in GitHub Desktop.
Save KaineLabs/3ec3d83e715ab30b0ad4e2d13bc33776 to your computer and use it in GitHub Desktop.
Change Member Username with Xprofile Fullname
<?php
/**
* Change Member Username with Xprofile Fullname
*/
function yzc_change_member_username( $member_name ) {
// Get User Id.
$user_id = bp_get_member_user_id() ? bp_get_member_user_id() : 0;
if ( $user_id == 0 ) {
return $member_name;
}
// Get Fields IDs.
$first_name_id = 1;
$last_name_id = 2;
// First Name
$first_name = xprofile_get_field( $first_name_id, $user_id );
$last_name = xprofile_get_field( $last_name_id, $user_id );
// Get User Full Name.
$fullname = $first_name->data->value . ' ' . $last_name->data->value;
if ( empty( $fullname ) ) {
$fullname = $member_name;
}
return $fullname;
}
function yzc_change_member_username_with_custom_fields( $member_name, $user_id ) {
$first_name = xprofile_get_field_data( 130, $user_id );
$last_name = xprofile_get_field_data( 131, $user_id );
// Get User Full Name.
$fullname = $first_name;
if ( ! empty( $last_name ) ) {
$fullname .= " " . $last_name;
}
if ( empty( $fullname ) ) {
$fullname = $member_name;
}
return $fullname;
}
add_filter( 'bp_core_get_user_displayname', 'yzc_change_member_username_with_custom_fields', 100, 2 );
add_filter( 'bp_member_name' , 'yzc_change_member_username' );
add_filter( 'bp_get_group_member_link' , 'yzc_get_group_member_link' );
function yzc_get_group_member_link() {
global $members_template;
$first_name = xprofile_get_field_data( 130, $user_id );
$last_name = xprofile_get_field_data( 131, $user_id );
// Get User Full Name.
$fullname = $first_name;
if ( ! empty( $last_name ) ) {
$fullname .= " " . $last_name;
}
if ( empty( $fullname ) ) {
$fullname = $member_name;
}
return '<a href="' . bp_core_get_user_domain( $members_template->member->user_id, $members_template->member->user_nicename, $members_template->member->user_login ) . '">' . $fullname . '</a>';
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment