Skip to:
Content
Pages
Categories
Search
Top
Bottom

What should happen of the avatar images on user deletion?


  • jgasba
    Participant

    @jgasba

    I have a website running BuddyPress with 50000 users and we are hit by a lot of spam user creations. We managed to mitigate it but it ends up bloating the uploads folders with thousands of avatar images that end up staying there when deleting user accounts. Is there a hook or function dedicated to handling avatars that is not working on my hand when deleting a user or is this normal?

    I saw that this topic asked the same question a looooong time ago but no answers and can’t find anything in documentation about that.

    How to discard unused uploaded avatar images in wp-content/uploads/avatars

Viewing 4 replies - 1 through 4 (of 4 total)

  • jgasba
    Participant

    @jgasba

    Even if there is a hook (I suppose there is of course), if it has not run, is there a way to go through all avatars and remove those from non existing users? Is there a recommended way to parse and delete all unused avatars?


    shiylo
    Participant

    @shiylo

    Salut ! Effectivement, BuddyPress ne supprime pas automatiquement les avatars des utilisateurs lorsque leurs comptes sont supprimés. Cependant, tu peux gérer ce problème en ajoutant un peu de code personnalisé à ton thème ou dans un plugin spécifique. Voici comment tu pourrais procéder pour supprimer les avatars lors de la suppression des comptes d’utilisateurs :

    1- Crée un hook dans ton fichier functions.php ou dans un plugin spécifique :
    Utilise l’action bp_remove_user ou wpmu_delete_user, delete_user selon la configuration de ton réseau si tu es en multisite ou pas.
    2- Ajoute le code suivant pour supprimer l’avatar lorsqu’un utilisateur est supprimé :

    function remove_user_avatar_on_delete($user_id) {
        // Vérifie si l'utilisateur a un avatar
        $avatar_path = bp_core_fetch_avatar(array(
            'item_id' => $user_id,
            'html'    => false,
            'type'    => 'full',
            'no_grav' => true
        ));
    
        if ($avatar_path) {
            // Supprime le fichier avatar
            @unlink($avatar_path);
        }
    }
    
    // Hook pour la suppression de l'utilisateur
    add_action('delete_user', 'remove_user_avatar_on_delete');
    add_action('wpmu_delete_user', 'remove_user_avatar_on_delete');
    add_action('bp_remove_user', 'remove_user_avatar_on_delete');
    

    Note : Ce code utilise @unlink pour supprimer le fichier, qui supprime silencieusement le fichier sans afficher d’erreur si le fichier n’existe pas ou ne peut être supprimé. Assure-toi que le chemin de l’avatar est correctement récupéré.

    3- Teste le code : Avant de mettre ce code en production, teste-le dans un environnement de développement pour t’assurer qu’il fonctionne comme attendu sans effets secondaires.
    Cela devrait aider à gérer le problème des fichiers d’avatar résiduels. Si tu as besoin de plus d’informations sur la fonction ou sur d’autres façons de gérer les fichiers avec WordPress et BuddyPress, n’hésite pas à demander !


    jgasba
    Participant

    @jgasba

    Par curiosité: est-ce que cette réponse a été nourrie par ChatGPT?

    Ça y ressemble vraiment, d’autant qu’après plus d’investigations je viens de trouver que BuddyPress est en effet censé supprimer l’avatar, grâce à deux fonctions : bp_core_delete_avatar_on_user_delete et bp_core_delete_avatar_on_delete_user

    Mon problème vient d’un manque de retour erreurs de la part de BuddyPress : c’était un conflit avec un autre plugin qui avait override les emplacements où les avatars sont stockés. Je suis en train de travailler à une solution. Ce serait vraiment top si BuddyPress retournait une erreur dans le cas où la tentative de suppression de l’avatar était ratée. Ça permettrait de s’en rendre compte rapidement.


    rhondajean
    Participant

    @rhondajean

    Did this solution work for you regarding deleting unused profile images? Also, could you tell me, with 50,000 users, what kind of hosting platform are you using? Are you having any issues with storage other than the avatar images?

Viewing 4 replies - 1 through 4 (of 4 total)
  • You must be logged in to reply to this topic.
Skip to toolbar