diff --git src/wp-includes/widgets.php src/wp-includes/widgets.php
index 61caf6af56..d722d03d0d 100644
--- src/wp-includes/widgets.php
+++ src/wp-includes/widgets.php
@@ -2060,3 +2060,46 @@ function wp_check_widget_editor_deps() {
 		}
 	}
 }
+
+/**
+ * Determines whether a Block Type has been added to one or more Sidebar Widgets.
+ *
+ * @since 5.8.?
+ *
+ * @param string $block_name    Optional. Block Type name (eg: `core/paragraph`).
+ *                              Optional, but needed for checking.
+ * @param bool   $skip_inactive Optional. Whether to check in 'wp_inactive_widgets'.
+ *                              Default true.
+ * @return bool True if the Block Type name to check has been added to one or more Sidebar Widgets.
+ *              False otherwise.
+ */
+function wp_widget_block_has( $block_name = '', $skip_inactive = true ) {
+	$widget_blocks = get_option( 'widget_block', array() );
+	$sidebars      = wp_get_sidebars_widgets();
+
+	if ( ! $widget_blocks || ! $sidebars ) {
+		return false;
+	}
+
+	// Neutralize inactive sidebar.
+	if ( $skip_inactive ) {
+		unset( $sidebars['wp_inactive_widgets'] );
+	}
+
+	$widgets_content = '';
+	foreach ( $widget_blocks as $key => $widget_block ) {
+		$widget_block_reference = 'block-' . $key;
+
+		if ( ! isset( $widget_block['content'] ) || ! $widget_block['content'] ) {
+			continue;
+		}
+
+		foreach ( $sidebars as $sidebar ) {
+			if ( is_array( $sidebar ) && in_array( $widget_block_reference, $sidebar, true ) ) {
+				$widgets_content .= $widget_block['content'] . "\n";
+			}
+		}
+	}
+
+	return has_block( $block_name, $widgets_content );
+}
