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' );
    }
  }
}