on_user_delete_form( $users_to_delete ); }, 10, 2 ); add_action( 'delete_user', function ( $id, $reassign, $user ) { $this->on_delete_user( $user ); }, 10, 3 ); } /** * Update `author_display_name` on the note before deleting the author, in order * to allow showing the author display name in the UI even when the user has been deleted. * * @param \WP_User $user */ private function on_delete_user( \WP_User $user ) { Note::query() ->with_trashed() ->where( 'author_id', '=', $user->ID ) ->update( [ 'author_display_name' => $user->display_name ] ); } /** * Add a note on user deletion form. * * @param $users_to_delete */ private function on_user_delete_form( $users_to_delete ) { $notes_count = Note::query() ->where_in( 'author_id', $users_to_delete ) ->count(); if ( 0 === $notes_count ) { return; } ?>