WP_REST_Block_Directory_Controller::get_items( WP_REST_Request $request ): WP_REST_Response|WP_Error

In this article

Search and retrieve blocks metadata

Parameters

$requestWP_REST_Requestrequired
Full details about the request.

Return

WP_REST_Response|WP_Error Response object on success, or WP_Error object on failure.

Source

public function get_items( $request ) {
	require_once ABSPATH . 'wp-admin/includes/plugin-install.php';
	require_once ABSPATH . 'wp-admin/includes/plugin.php';

	$response = plugins_api(
		'query_plugins',
		array(
			'block'    => $request['term'],
			'per_page' => $request['per_page'],
			'page'     => $request['page'],
		)
	);

	if ( is_wp_error( $response ) ) {
		$response->add_data( array( 'status' => 500 ) );

		return $response;
	}

	$result = array();

	foreach ( $response->plugins as $plugin ) {
		// If the API returned a plugin with empty data for 'blocks', skip it.
		if ( empty( $plugin['blocks'] ) ) {
			continue;
		}

		$data     = $this->prepare_item_for_response( $plugin, $request );
		$result[] = $this->prepare_response_for_collection( $data );
	}

	return rest_ensure_response( $result );
}

Changelog

VersionDescription
5.5.0Introduced.

User Contributed Notes

You must log in before being able to contribute a note or feedback.