web-dev-qa-db-fra.com

Comment empêcher la suppression de comptes d'utilisateurs dans WordPress Back-end?

J'ai essayé de trouver une question similaire. Et je n'en ai aucun existant. Je souhaite empêcher la suppression d'administrateurs de la table des utilisateurs principaux. seuls deux administrateurs peuvent supprimer tous les utilisateurs, mais d'autres administrateurs ne peuvent pas supprimer tous les autres administrateurs. J'ai essayé ce code. Mais si je vais avec des paramètres d'url directs, cela me permet de supprimer l'utilisateur.

function kv_admin_deactivate_link($actions, $user_object) {

    if($user_object->ID == 1 || $user_object->ID == 2) 
        unset($actions['delete']);

    return $actions;
}
add_filter('user_row_actions', 'kv_admin_deactivate_link', 10, 2);

ce qui aide réellement à masquer le lien de suppression de la table des utilisateurs. mais si je vais avec lien direct GET sa me permettant de supprimer.

Donc, y a-t-il une fonction ou une caractéristique qui empêcherait la suppression?.

3
Kvvaradha

Une solution rapide (et sale) consisterait à empêcher la suppression finale où elle se produit (fonction delete_user). Vous pouvez implémenter un petit plugin ou coller le code dans votre functions.php:

<?php

/*
Plugin Name: Please don't delete me!
Description: Prevent accidental user deletion of my account
*/

define('PDDM_USER_ID', 1); // User ID of your Account

add_action('delete_user', function($id) {
    if ($id == PDDM_USER_ID) {
        die('please don\'t delete me!');
    }
});

Cela arrête simplement l'exécution du script juste avant la suppression de votre utilisateur.

Pas élégant et joli ... mais ça marche ;-)

br de Salzbourg!

7
jjarolim