# Anonymize the Comments of Deleted Users

> When a user account is deleted, keeps their comments but replaces the name with "Former member" and removes the email address, website and IP address stored with them.

- Type: PHP
- Runs: Run everywhere
- Category: [Privacy & Cookies](https://wpide.com/library/category/privacy/)
- Tags: comments, users, gdpr
- Author: WPIDE Team
- Installs: 0
- Updated: 2026-10-28
- Page: https://wpide.com/library/privacy-anonymize-deleted-user-comments/

## Code

```php
// Name shown on comments of deleted accounts.
$wpide_former_name = 'Former member';

add_action( 'delete_user', function ( $user_id ) use ( $wpide_former_name ) {
    global $wpdb;

    $ids = $wpdb->get_col( $wpdb->prepare( "SELECT comment_ID FROM {$wpdb->comments} WHERE user_id = %d", $user_id ) );

    if ( ! $ids ) {
        return;
    }

    $wpdb->query( $wpdb->prepare(
        "UPDATE {$wpdb->comments} SET user_id = 0, comment_author = %s, comment_author_email = '', comment_author_url = '', comment_author_IP = '', comment_agent = '' WHERE user_id = %d",
        $wpide_former_name,
        $user_id
    ) );

    foreach ( $ids as $id ) {
        clean_comment_cache( (int) $id );
    }
} );
```

## Notes

WordPress normally keeps the commenter details of deleted accounts; change $wpide_former_name to your wording.

## How to use it

Install the free WPIDE plugin (https://wordpress.org/plugins/wpide/), find "Anonymize the Comments of Deleted Users" in its snippet library and add it in one click; or create a new PHP snippet in WPIDE (or any code snippets plugin) and paste the code above. More snippets: https://wpide.com/library/
