When I delete a user, WordPress can just delete the post or page of this user,
not his custom post and his attachments.
An idea for a special hook?
add_action( 'delete_user', 'my_delete_user');
function my_delete_user($user_id) {
$user = get_user_by('id', $user_id);
$the_query = new WP_Query( $args );
if ( have_posts() ) {
while ( have_posts() ) {
the_post();
wp_delete_post( $post->ID, false );
// HOW TO DELETE ATTACHMENTS ?
}
}
}
The hook you choose is appropriate, and here is how to use it to delete all posts of all types (posts, pages, links, attachments, etc) of the deleted user:
If you only want to delete user attachments, change the
post_type
arguments fromany
toattachment
and usewp_delete_attachment($attachment_id)
instead ofwp_delete_post()
.