# block-manager/3.2.1/api/patterns-reset.php

Block Manager, version 3.2.1. 44 lines.

- Page: https://pluginprobe.com/plugins/block-manager/3.2.1/code/api/patterns-reset.php
- Raw: https://pluginprobe.com/plugins/block-manager/3.2.1/raw/api/patterns-reset.php
- Modified: 2024-11-04T14:43:06+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/block-manager/3.2.1/code/api/patterns-reset.php#L10-L20`.

```php
<?php
/**
 * API Route: Reset patterns API endpoint.
 *
 * @since 1.0
 * @package blockmanager
 */

add_action(
	'rest_api_init',
	function () {
		$my_namespace = 'gbm';
		$my_endpoint  = '/patterns_reset';
		register_rest_route(
			$my_namespace,
			$my_endpoint,
			array(
				'methods'             => 'POST',
				'callback'            => 'block_manager_patterns_reset',
				'permission_callback' => function () {
					return Gutenberg_Block_Manager::has_access();
				},
			)
		);
	}
);

/**
 * Reset the block patterns.
 * @since 1.2.2
 */
function block_manager_patterns_reset() {
	if ( is_user_logged_in() && current_user_can( apply_filters( 'block_manager_user_role', 'activate_plugins' ) ) ) {
		error_reporting( E_ALL | E_STRICT ); // @codingStandardsIgnoreLine
		delete_option( BLOCK_MANAGER_PATTERNS );
		wp_send_json(
			[
				'success' => true,
				'msg'     => __( 'All patterns reset successfully', 'block-manager' ),
			]
		);
	}
}

```
