WordPress Plugin Ultimate Memberのアクションフック um_user_edit_profile と um_user_register

アクションフックのum_user_edit_profileがどうにも走らない。

https://docs.ultimatemember.com/article/1296-umusereditprofile

このGitの中のコードを読んでみると、

https://github.com/ultimatemember/ultimatemember/blob/master/includes/core/um-actions-profile.php#L343

do_action( 'um_after_user_updated', um_user( 'ID' ), $args, $to_update );

とあるので、

add_action( 'um_after_user_updated', 'my_after_user_updated', 10, 3 );

で、追加処理をした。

追加した処理は、display_nameの設定。

姓、名、旧姓が$userinfo の中にあるので、それを組み合わせて、Blogでの表示名(display_neame)を設定した。

function my_after_user_updated( $user_id, $args, $userinfo ) {

if($userinfo['last_name_now']){

//$userinfo['display_name'] = $userinfo['last_name_now']."(".$userinfo['last_name'].")".$userinfo['first_name'];
$display_name = $userinfo['display_name'] = $userinfo['last_name_now']."(".$userinfo['last_name'].")".$userinfo['first_name'];

}else{

$userinfo['display_name'] = $userinfo['last_name']." ".$userinfo['first_name'];
$display_name = $userinfo['last_name']." ".$userinfo['first_name'];
}

wp_update_user( array( 'ID' => $user_id, 'display_name' => $display_name) );
}

 

um_user_registerも同様で走らない。

um_registration_completeにadd_actionをすれば、新規ユーザー登録の時の処理を追加できた。

 

add_action( 'um_registration_complete', 'my_user_register', 10, 2 );
function my_user_register( $user_id, $userinfo ) {
// your code here
if($userinfo['last_name_now']){

//$userinfo['display_name'] = $userinfo['last_name_now']."(".$userinfo['last_name'].")".$userinfo['first_name'];
$display_name = $userinfo['display_name'] = $userinfo['last_name_now']."(".$userinfo['last_name'].")".$userinfo['first_name'];

}else{

$userinfo['display_name'] = $userinfo['last_name']." ".$userinfo['first_name'];
$display_name = $userinfo['last_name']." ".$userinfo['first_name'];
}

wp_update_user( array( 'ID' => $user_id, 'display_name' => $display_name) );

}