2014-12-15 22:38:07 +02:00
|
|
|
<?php
|
2017-12-18 15:36:04 +02:00
|
|
|
// Exit if accessed directly
|
|
|
|
|
if ( ! defined( 'ABSPATH' ) ) exit;
|
|
|
|
|
|
2014-12-15 22:38:07 +02:00
|
|
|
|
|
|
|
|
/***
|
|
|
|
|
*** @profile name update
|
|
|
|
|
***/
|
2018-02-18 13:27:46 +02:00
|
|
|
add_action( 'um_update_profile_full_name', 'um_update_profile_full_name', 10, 2 );
|
|
|
|
|
function um_update_profile_full_name( $user_id, $changes ) {
|
2015-12-24 18:56:49 +02:00
|
|
|
// Sync display name changes
|
2017-12-11 09:53:38 +02:00
|
|
|
$option = UM()->options()->get( 'display_name' );
|
2016-11-28 21:24:56 +08:00
|
|
|
|
2018-02-18 13:27:46 +02:00
|
|
|
if ( ! isset( $user_id ) || empty( $user_id ) ) {
|
2016-11-29 20:31:27 +08:00
|
|
|
$user = get_user_by( 'email', $changes['user_email'] );
|
|
|
|
|
um_fetch_user( $user->ID );
|
|
|
|
|
$user_id = $user->ID;
|
|
|
|
|
}
|
2016-11-28 21:24:56 +08:00
|
|
|
|
2015-12-24 18:56:49 +02:00
|
|
|
switch ( $option ) {
|
|
|
|
|
default:
|
|
|
|
|
break;
|
|
|
|
|
case 'full_name':
|
|
|
|
|
$update_name = get_user_meta( $user_id, 'first_name', true ) . ' ' . get_user_meta( $user_id, 'last_name', true );
|
|
|
|
|
break;
|
|
|
|
|
case 'sur_name':
|
|
|
|
|
$fname = get_user_meta( $user_id, 'first_name', true );
|
|
|
|
|
$lname = get_user_meta( $user_id, 'last_name', true );
|
|
|
|
|
$update_name = $lname . ' ' . $fname;
|
|
|
|
|
break;
|
|
|
|
|
case 'initial_name':
|
|
|
|
|
$fname = get_user_meta( $user_id, 'first_name', true );
|
|
|
|
|
$lname = get_user_meta( $user_id, 'last_name', true );
|
2017-11-24 15:20:45 +02:00
|
|
|
$update_name = $fname . ' ' . ( !empty( $lname ) ? $lname[0] : '' );
|
2015-12-24 18:56:49 +02:00
|
|
|
break;
|
|
|
|
|
case 'initial_name_f':
|
|
|
|
|
$fname = get_user_meta( $user_id, 'first_name', true );
|
|
|
|
|
$lname = get_user_meta( $user_id, 'last_name', true );
|
2017-11-24 15:20:45 +02:00
|
|
|
$update_name = ( !empty($fname) ? $fname[0] : '' ) . ' ' . $lname;
|
2015-12-24 18:56:49 +02:00
|
|
|
break;
|
|
|
|
|
case 'nickname':
|
|
|
|
|
$update_name = get_user_meta( $user_id, 'nickname', true );
|
|
|
|
|
break;
|
|
|
|
|
}
|
2015-11-17 14:08:57 +08:00
|
|
|
|
2015-12-24 18:56:49 +02:00
|
|
|
if ( isset( $update_name ) ) {
|
2016-08-27 21:58:44 +08:00
|
|
|
|
2016-11-28 21:24:56 +08:00
|
|
|
$arr_user = array( 'ID' => $user_id, 'display_name' => $update_name );
|
|
|
|
|
$return = wp_update_user( $arr_user );
|
2016-08-27 21:58:44 +08:00
|
|
|
|
|
|
|
|
if( is_wp_error( $return ) ) {
|
2016-11-28 21:24:56 +08:00
|
|
|
wp_die( '<pre>' . var_export( array( 'message' => $return->get_error_message(), 'dump' => $arr_user, 'changes' => $changes ), true ) . '</pre>' );
|
2016-08-27 21:58:44 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if ( isset( $changes['first_name'] ) && isset( $changes['last_name'] ) ) {
|
|
|
|
|
|
2017-07-26 14:57:52 +03:00
|
|
|
$full_name = UM()->user()->profile['display_name'];
|
|
|
|
|
$full_name = UM()->validation()->safe_name_in_url( $full_name );
|
2016-08-27 21:58:44 +08:00
|
|
|
|
2017-07-26 14:57:52 +03:00
|
|
|
update_user_meta( UM()->user()->id, 'full_name', $full_name );
|
2016-08-27 21:58:44 +08:00
|
|
|
|
|
|
|
|
|
2015-12-24 18:56:49 +02:00
|
|
|
}
|
2016-09-06 13:23:26 +08:00
|
|
|
|
|
|
|
|
// regenerate slug
|
2018-02-18 13:27:46 +02:00
|
|
|
UM()->user()->generate_profile_slug( $user_id );
|
2014-12-15 22:38:07 +02:00
|
|
|
}
|