Automattic\WooCommerce\Internal\Admin\EmailPreview

EmailPreviewRestController::send_email_preview()publicWC 1.0

Handle the POST /settings/email/send-preview.

Method of the class: EmailPreviewRestController{}

No Hooks.

Return

Array|WP_Error. Request response or an error.

Usage

$EmailPreviewRestController = new EmailPreviewRestController();
$EmailPreviewRestController->send_email_preview( $request );
$request(WP_REST_Request) (required)
The received request.

EmailPreviewRestController::send_email_preview() code WC 9.7.1

public function send_email_preview( WP_REST_Request $request ) {
	$email_address = $request->get_param( 'email' );
	$email_content = $this->email_preview->render();
	$email_subject = $this->email_preview->get_subject();
	$email         = new \WC_Emails();
	$sent          = $email->send( $email_address, $email_subject, $email_content );

	if ( $sent ) {
		return array(
			// translators: %s: Email address.
			'message' => sprintf( __( 'Test email sent to %s.', 'woocommerce' ), $email_address ),
		);
	}
	return new WP_Error(
		'woocommerce_rest_email_preview_not_sent',
		__( 'Error sending test email. Please try again.', 'woocommerce' ),
		array( 'status' => 500 )
	);
}