WP_REST_Block_Directory_Controller::get_items()publicWP 5.5.0

Search and retrieve blocks metadata

Метод класса: WP_REST_Block_Directory_Controller{}

Хуков нет.

Возвращает

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

Использование

$WP_REST_Block_Directory_Controller = new WP_REST_Block_Directory_Controller();
$WP_REST_Block_Directory_Controller->get_items( $request );
$request(WP_REST_Request) (обязательный)
Full details about the request.

Список изменений

С версии 5.5.0 Введена.

Код WP_REST_Block_Directory_Controller::get_items() WP 6.4.3

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