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

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

um_user_edit_profile - Documentation | Ultimate Member
Hook type Action Description Run on successful submit profile form Parameters $args (array) Form Arguments Usage add_action( 'um_user_edit_profile', 'function_n

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

ultimatemember/ultimatemember
The easiest way to create powerful online communities and beautiful user profiles with WordPress - ultimatemember/ultimatemember

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

}

コメント

タイトルとURLをコピーしました