Automattic\WooCommerce\Internal\Orders
OrderActionsRestController::get_email_templates
Callback to run for GET wc/v3/orders/(?P<id>[\d]+)/actions/email_templates.
Method of the class: OrderActionsRestController{}
No Hooks.
Returns
Array.
Usage
// protected - for code of main (parent) or child class $result = $this->get_email_templates( $request ): array;
- $request(WP_REST_Request) (required)
- The incoming HTTP REST request.
OrderActionsRestController::get_email_templates() OrderActionsRestController::get email templates code WC 10.8.1
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;
}