WordPress Plugin Ultimate Memberのアクションフック um_user_edit_profile と um_user_register
- 2018.09.01
- WordPress
アクションフックの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) );
}
-
前の記事
赤ちゃんゲート比較 2018.08.09
-
次の記事
Advanced Custom Fields Proの柔軟コンテンツ(flexible content)のレイアウト・タイトルをカスタマイズする方法 2018.09.25