更好的解决方案是在每次更新用户时更新显示名称。我正在使用这个旧线程,因为我在任何地方都找不到这个解决方案。
/* First name as default display name. */
add_action( \'profile_update\', \'set_display_name\', 10 );
function set_display_name( $user_id ) {
$data = get_userdata( $user_id );
if($data->first_name) {
remove_action( \'profile_update\', \'set_display_name\', 10 ); // profile_update is called by wp_update_user, so we need to remove it before call, to avoid infinite recursion
wp_update_user(
array (
\'ID\' => $user_id,
\'display_name\' => "$data->first_name"
)
);
add_action( \'profile_update\', \'set_display_name\', 10 );
}
}