WordPressすべてのユーザーの「公に表示する名前」を変更する方法

Last Updated:2023年01月12日| | コメントを残す

WordPressで、既存のすべてのユーザーの表示名(一般に表示する名前)を変更したい場合があります。 これに関連して検索してみると、 user_register フック(アクション)を使用して変更する方法が多く紹介されているが、テストしてみるとうまく動作していない。

WordPressですべてのユーザーの「一般的に表示する名前」を変更する

代わりに WordPress Change Default Display Name Publicy As First Name Last Name for all existing usersで紹介するコードを使うので、好きなように各ユーザーの「表示名」が一括変更されました。

// Change default display name publicly as to Last Name and First Name for all users add_action('admin_head','make_display_name_f_name_last_name'); function make_display_name_f_name_last_name(){ $users = get_users(array('fields'=>'all')); foreach($users as $user){ $user = get_userdata($user->ID); $display_name = $user->last_name; 。 $ user->first_name; if($display_name!=' ') wp_update_user( array ('ID' => $user->ID, 'display_name' => $display_name) ); else wp_update_user( array ('ID' => $user->ID, 'display_name' => $user->display_login) ); if($user->display_name == '') wp_update_user( array ('ID' => $user->ID, 'display_name' => $user->display_login) ); }}

上記のコードを適用すると、ユーザーの表示名が「ホンギルドン」のように「姓+名」と表示されます。

必要に応じて、表示名を電子メールアドレスに変更することも可能です。 しかし、電子メールアドレスをそのまま公開する場合、個人のプライバシーの問題が発生することができ、スパマーの標的になる可能性があるため、電子メールのいくつかのフィールドをアスタリスクでブラインド処理して表示することができます。 (例えば、honggildong@naver.com代わりhonggild***@***er.comで表示)

この場合、次のコードを使用しているテーマの関数ファイルに追加すると、公開する名前が「honggild***@***er.com」のような形式で表示されます。

// Sets the user's display name (always) to email address with some characters are hidden with asterisks, when it's available: add_action ('admin_head','make_display_name_email_address'); function make_display_name_email_address(){ $users = get_users(array('fields'=>'all')); foreach($users as $user){ $user = get_userdata($user->ID); $em = $user->user_email; $mail_segments = explode("@", $em); $mail_segments[0] = substr($mail_segments[0], 0, -3) 。 "***"; $mail_segments[1] = "***" 。 substr($ mail_segments [1]、3); $new_email = implode("@", $mail_segments); $display_name = $new_email; if($display_name!=' ') wp_update_user( array ('ID' => $user->ID, 'display_name' => $display_name) ); else wp_update_user( array ('ID' => $user->ID, 'display_name' => $user->display_login) ); if($user->display_name == '') wp_update_user( array ('ID' => $user->ID, 'display_name' => $user->display_login) ); }}

メールアドレスは必須であるため、上記のコードでは、以下の条件文は不要なようです。

上記のコードを追加して、テストしてみると WordPress 伝言板>ユーザー>私のプロフィールで、「公開して表示する名前」が「honggild***@***er.com」のように、一部の文字がアスタリスクで処理されたメールアドレスに変わって表示されます。

WordPress ユーザーの表示名を変更する

そして文作成者の名前も、下図のように電子メールアドレスとして表示されます。

WordPress ユーザーの表示名を変更

メモ:


コメントを残す

コメント