Automattic\WooCommerce\Internal\Orders

OrderActionsRestController::get_email_templatesprotectedWC 1.0

Callback to run for GET wc/v3/orders/(?P<id>[\d]+)/actions/email_templates.

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

Хуков нет.

Возвращает

Массив.

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

// protected - в коде основоного (родительского) или дочернего класса
$result = $this->get_email_templates( $request ): array;
$request(WP_REST_Request) (обязательный)
The incoming HTTP REST request.

Код OrderActionsRestController::get_email_templates() WC 9.9.4

protected function get_email_templates( WP_REST_Request $request ): array {
	$order = wc_get_order( $request->get_param( 'id' ) );

	$available_templates = $this->get_available_email_templates( $order );
	$templates           = array();

	foreach ( $available_templates as $template ) {
		$templates[] = array(
			'id'          => $template->id,
			'title'       => $template->get_title(),
			'description' => $template->get_description(),
		);
	}

	usort(
		$templates,
		fn( $a, $b ) => strcmp( $a['id'], $b['id'] )
	);

	$schema            = $this->get_schema_for_email_templates();
	$context           = $request->get_param( 'context' ) ?? 'view';
	$filtered_response = array_map(
		function ( $template ) use ( $schema, $context ) {
			return rest_filter_response_by_context( $template, $schema, $context );
		},
		$templates
	);

	return $filtered_response;
}