Bonjour, je travaille sur un administrateur frontal où un utilisateur doit pouvoir supprimer son compte. current_user()
est une fonction personnalisée de moi qui récupère les métadonnées de l'utilisateur.
Est-ce que quelqu'un sait comment je peux faire ce travail?
echo '<a class="remove" href="' . get_permalink() . '?remove_account">' . __( 'Click here to remove your account' ) . '</a>';
// Remove account
function terminate_account() {
require_once( ABSPATH . 'wp-admin/includes/user.php' );
wp_delete_user( current_user( 'ID' ) );
}
if( isset( $_GET['remove_account'] ) ) {
add_action( 'init', 'terminate_account' );
}
Prises directement dans la documentation wp_delete_user
:
if(is_user_logged_in() && !empty($_GET['DeleteMyAccount'])) {
add_action('init', 'remove_logged_in_user');
}
function remove_logged_in_user() {
require_once(ABSPATH.'wp-admin/includes/user.php' );
$current_user = wp_get_current_user();
wp_delete_user( $current_user->ID );
}
Choses à noter:
modifier:
Si vous pouvez placer ceci dans votre fichier de fonction themes:
add_action('init', 'remove_logged_in_user');
function remove_logged_in_user() {
require_once(ABSPATH.'wp-admin/includes/user.php' );
$current_user = wp_get_current_user();
$success = wp_delete_user( $current_user->ID );
wp_die('wp delete gave: <pre>"'.print_r($success).'"</pre>');
}