WP_REST_Plugins_Controller::prepare_item_for_response()publicWP 5.5.0

Prepares the plugin for the REST response.

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

Хуки из метода

Возвращает

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

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

$WP_REST_Plugins_Controller = new WP_REST_Plugins_Controller();
$WP_REST_Plugins_Controller->prepare_item_for_response( $item, $request );
$item(массив) (обязательный)
Unmarked up and untranslated plugin data from get_plugin_data().
$request(WP_REST_Request) (обязательный)
Request object.

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

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

Код WP_REST_Plugins_Controller::prepare_item_for_response() WP 6.4.3

public function prepare_item_for_response( $item, $request ) {
	$fields = $this->get_fields_for_response( $request );

	$item   = _get_plugin_data_markup_translate( $item['_file'], $item, false );
	$marked = _get_plugin_data_markup_translate( $item['_file'], $item, true );

	$data = array(
		'plugin'       => substr( $item['_file'], 0, - 4 ),
		'status'       => $this->get_plugin_status( $item['_file'] ),
		'name'         => $item['Name'],
		'plugin_uri'   => $item['PluginURI'],
		'author'       => $item['Author'],
		'author_uri'   => $item['AuthorURI'],
		'description'  => array(
			'raw'      => $item['Description'],
			'rendered' => $marked['Description'],
		),
		'version'      => $item['Version'],
		'network_only' => $item['Network'],
		'requires_wp'  => $item['RequiresWP'],
		'requires_php' => $item['RequiresPHP'],
		'textdomain'   => $item['TextDomain'],
	);

	$data = $this->add_additional_fields_to_object( $data, $request );

	$response = new WP_REST_Response( $data );

	if ( rest_is_field_included( '_links', $fields ) || rest_is_field_included( '_embedded', $fields ) ) {
		$response->add_links( $this->prepare_links( $item ) );
	}

	/**
	 * Filters plugin data for a REST API response.
	 *
	 * @since 5.5.0
	 *
	 * @param WP_REST_Response $response The response object.
	 * @param array            $item     The plugin item from {@see get_plugin_data()}.
	 * @param WP_REST_Request  $request  The request object.
	 */
	return apply_filters( 'rest_prepare_plugin', $response, $item, $request );
}