Automattic\WooCommerce\Internal\RestApi\Routes\V4\Settings\Emails\Schema
EmailsSettingsSchema::get_item_response
Get the item response for a single email.
Method of the class: EmailsSettingsSchema{}
No Hooks.
Returns
Array. The item response.
Usage
$EmailsSettingsSchema = new EmailsSettingsSchema(); $EmailsSettingsSchema->get_item_response( $email, $request, $include_fields ): array;
- $email(WC_Email) (required)
- Email instance.
- $request(WP_REST_Request) (required)
- Request object.
- $include_fields(array)
- Fields to include in the response.
Default: array()
EmailsSettingsSchema::get_item_response() EmailsSettingsSchema::get item response code WC 10.4.3
public function get_item_response( $email, WP_REST_Request $request, array $include_fields = array() ): array {
// Get template post ID.
$email_post_manager = WCTransactionalEmailPostsManager::get_instance();
$post_id = $email_post_manager->get_email_template_post_id( $email->id ?? '' );
// Convert false to null, ensure int otherwise.
$post_id = $post_id ? (int) $post_id : null;
$link = '';
if ( $post_id ) {
$permalink = get_permalink( $post_id );
$link = is_string( $permalink ) ? $permalink : '';
}
$email->init_form_fields();
$response = array(
'id' => $email->id ?? '',
'title' => $email->title ?? '',
'description' => $email->description ?? '',
'post_id' => $post_id,
'link' => $link,
'email_group' => $email->email_group ?? '',
'email_group_title' => method_exists( $email, 'get_email_group_title' ) ? $email->get_email_group_title() : '',
'is_customer_email' => method_exists( $email, 'is_customer_email' ) ? $email->is_customer_email() : false,
'is_manual' => method_exists( $email, 'is_manual' ) ? $email->is_manual() : false,
'values' => $this->get_values( $email ),
'groups' => $this->get_groups( $email ),
);
if ( ! empty( $include_fields ) ) {
$response = array_intersect_key( $response, array_flip( $include_fields ) );
}
return $response;
}