diff --git src/bp-core/bp-core-attachments.php src/bp-core/bp-core-attachments.php
index 7646b80..c8361c9 100644
--- src/bp-core/bp-core-attachments.php
+++ src/bp-core/bp-core-attachments.php
@@ -395,7 +395,21 @@ function bp_attachments_get_template_part( $slug ) {
 
 	// Load the attachment template in WP Administration screens.
 	if ( is_admin() && ( ! defined( 'DOING_AJAX' ) || ! DOING_AJAX ) ) {
-		$attachment_admin_template_part = buddypress()->themes_dir . '/bp-legacy/buddypress/' . $attachment_template_part . '.php';
+		/**
+		 * Filter the attachment template part for the WP Admin context
+		 *
+		 * Plugin developers: make sure to use this filter for your very own additional attachment template parts only.
+		 * In your filter, you'll just need to check the $slug value is matching the additional template part you requested.
+		 *
+		 * For now all attachment template parts located in the assets/_attachments BP Legacy's directory are private.
+		 * Please do not override them.
+		 *
+		 * @since 2.4.0
+		 *
+		 * @param  string $value Path to the admin template part
+		 * @param  string $slug  Requested template slug
+		 */
+		$attachment_admin_template_part = apply_filters( 'bp_attachments_get_admin_template_part', buddypress()->themes_dir . '/bp-legacy/buddypress/' . $attachment_template_part . '.php', $slug );
 
 		// Check whether the template part exists.
 		if ( ! file_exists( $attachment_admin_template_part ) ) {
