Al borrar una entrada, página, o cualquier tipo de contenido, se borrarán los archivos que se hayan subido desde dicho contenido. El segundo bloque sirve para restringirlo a cierto tipo de contenido (CPT).
<?php //Borrar adjuntos al borrar la entrada add_action( 'before_delete_post', function( $id ) { $attachments = get_attached_media( '', $id ); foreach ($attachments as $attachment) { wp_delete_attachment( $attachment->ID, 'true' ); } } ); //Borrar adjuntos del CPT cuyo slug es 'project' add_action( 'before_delete_post', 'delete_all_attached_media' ); function delete_all_attached_media( $post_id ) { if( get_post_type($post_id) == "product" ) { $attachments = get_attached_media( '', $post_id ); foreach ($attachments as $attachment) { wp_delete_attachment( $attachment->ID, 'true' ); } } }